2011-08-16 2 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 파일을 디코딩합니다.

관련 문제