더북(TheBook)

VideoWriter::fourcc() 함수를 사용하여 생성할 수 있는 주요 fourcc 코드와 관련 코덱 정보를 표 4-3에 정리했습니다. 좀 더 많은 fourcc 코드와 코덱 정보는 http://www.fourcc.org/codecs.php 웹 사이트를 참고하기 바랍니다.

▼ 표 4-3 주요 fourcc 코드와 의미

fourcc 코드 생성 방법

코덱 설명

VideoWriter::fourcc('D', 'I', 'V', 'X')

DivX MPEG-4 코덱

VideoWriter::fourcc('X', 'V', 'I', 'D')

XVID MPEG-4 코덱

VideoWriter::fourcc('F', 'M', 'P', '4')

FFMPEG MPEG4 코덱

VideoWriter::fourcc('W', 'M', 'V', '2')

Windows Media Video 8 코덱

VideoWriter::fourcc('M', 'J', 'P', 'G')

모션 JPEG 코덱

VideoWriter::fourcc('Y', 'V', '1', '2')

YUV 4:2:0 Planar(비압축)

VideoWriter::fourcc('X', '2', '6', '4')

H.264/AVC 코덱

VideoWriter::fourcc('A', 'V', 'C', '1')

Advanced Video 코덱

 

예를 들어 DivX MPEG-4 코덱을 이용하는 output.avi 동영상 파일을 생성하려면 다음과 같은 형태로 코드를 작성합니다.

VideoWriter video;
int fourcc = VideoWriter::fourcc('D', 'I', 'V', 'X');
video.open("output.avi", fourcc, fps, Size(w, h));

이 코드에서 fps는 FPS 값, wh는 프레임 크기를 나타냅니다. 그런데 VideoWriter 클래스는 VideoWriter::open() 함수와 같은 인자 구성을 갖는 생성자를 지원하기 때문에 앞에서 두 줄로 쓴 코드는 다음과 같이 한 줄의 코드로 바꿔 쓸 수 있습니다.

VideoWriter video("output.mp4", fourcc, fps, Size(w, h));
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.