2011-08-16 20 views
0

Mencoder에는 mjpeg 파일을 VLC에서 재생되는 'MJPG'코덱을 사용하여 avi 파일로 변환하는 멋진 옵션이 있습니다.mencoder, VLC 및 FFMpeg에서 사용되는 Mjpeg 코덱 설명서는 어디에 있습니까?

이렇게 명령 행은 다음 -ovc 복사본을 복사 -oac

mencoder의 filename.mjpeg -o outputfile.avi 0.3 - 속도가 상기 소정의 재생 프레임 레이트의 비율을 0.3

기본값은 25fps입니다. 이 모든 작업은 mjpeg 파일의 복사본을 만들고, 파일의 프레임 위치 인덱스 인 것처럼 보이며 끝 부분에 avi 헤더를 놓습니다.

내 코드에서이 코드를 복제하고 싶지만 어디서나 설명서를 찾을 수 없습니다. 인덱스 섹션의 정확한 형식은 무엇입니까? 헤더에는 어떤 이유로 든 여분의 필러 바이트가 있습니다 -이게 뭐야?

누구나 어디에서 설명서를 찾을 수 있습니까? mencoder와 vlc 모두이 코덱을 내장하고있는 것 같습니다.

+0

제목을 질문으로 만드십시오. 만약 당신이 프로그래머라면, 그 소스는 문서 다 : http://www.videolan.org/developers/ – ceving

+0

나는 ffmpeg가있는 나의 시스템 중 하나 인 mjpg를위한 ffmpeg 코덱과 같다고 생각한다. 없이는 재생되지 않는 동안 windows 미디어 플레이어에서 파일을 행복하게 재생합니다. – Sugrue

+0

찾았을 수도 있습니다 : http://ffmpeg.org/doxygen/0.6/mjpeg_8h-source.html – Sugrue

답변

1

HxD 및 RiffPad를 사용하여 많은 작업과 연구를 거쳐 마침내 알아 냈습니다. 모든 것을 설명하기 위해서는 긴 블로그 항목이 필요 하겠지만 기본적으로 실제로는 'MJPG'코덱이 없습니다. mjpg는 인덱싱 된 파일을 생성하기 위해 avi 표준의 몇 가지 트릭과 비정상적인 부분을 사용합니다.

열쇠는 '00dc'와 Int32 길이 태그를 각 Jpeg 열기 태그 앞에 8 바이트 배치하는 것입니다. avi가 무작위 접근을 원한다면, '00dc'태그 위치의 각각을 가리키는 끝에 인덱스가 필요합니다.

기본적으로 VLC가 재생됩니다. ffmpeg가 설치되어 있으면 Windows Media Player가이를 사용하여 이러한 유형의 mjpg 파일을 디코딩합니다.