2014-02-10 5 views
7

제가 이해하는 것처럼, 기본적으로 ffmpeg는 mp4를 생성 할 때 파일의 끝에 모든 메타 정보를 저장합니다. 출처 : http://www.stoimen.com/blog/2010/11/12/how-to-make-mp4-progressive-with-qt-faststart/ffmpeg 파일의 시작 부분에 Mp4 metainfo를 배치 할 수 있습니까?

내가해야 할 일은 한 번에 한 프레임 씩 비디오를 만든 다음 스트리밍하는 것입니다. 헤더 정보가 파일의 '끝'에 있으면 불가능합니다. 그러나 이것을 처음으로 옮기거나이 문제를 해결할 수 있습니까? 나는 분명히 다른 도서관으로 바꾸지 않고 대신 사용하는 것을 선호 할 것입니다. 우리는 이미이 프로젝트에서 예산 초과되었습니다.

편집 : 코드를 한 번에 한 프레임 씩 변환하고 즉시 명령 대신 스트리밍하려는 경우 코드 내에서 수행해야합니다.

답변

11

ffmpeg은 명령 줄에서 -movflags faststart을 지원합니다. 자세한 내용은 http://salman-w.blogspot.co.il/2013/08/fast-start-enabled-videos-with-ffmpeg.html을 참조하십시오.

+0

한 번에 하나의 프레임을 변환하고 즉시 명령 줄을 통해 변환하는 대신 스트리밍하려는 것처럼 코드 내에서 코드를 사용해야합니다. 그러나이 점을 고맙게 생각합니다. 더 많은 연구를 통해 내가 코드로 그것을 할 수 있는지 알아 봅니다. 고맙습니다! – mczarnek

+4

나는 이것이 효과가 있다고 생각하지 않는다. 'faststart'는 인덱스 (moov 아톰)를 파일의 처음으로 이동시키는 두 번째 패스를 포함합니다. 이 작업은 다소 시간이 걸릴 수 있으며 조각난 출력과 같은 다양한 상황에서는 작동하지 않으므로 기본적으로 활성화되지 않습니다. 왜 mpegts를 사용하지 않습니까? –

+1

@mczarnek 인코딩 프로세스 중에 스트리밍 중이므로 인코딩이 완료 될 때까지 빠른 시작에 필요한 모든 정보가 존재하지 않으므로이 작업을 수행 할 수 없습니다. – Brad

관련 문제