2012-11-06 1 views
2

FFMPEG에 의해 인코딩되는 동안 디스크에 비디오를 재생해야하는 응용 프로그램을 구축하고 있습니다. 즉, 라이브 스트림과 같이 인코딩 된 코드 바로 뒤에서 디스크에 재생 스트림을 푸싱합니다. 그래서 MOOV 원자는 기본적으로 처리 될 때 (또는 청크로 스트림에 인터리빙 될 때) 생성되어야하고, empty_moov를 사용하지 않으려 고 노력했습니다 (특히 quicktime이 지원하지 않기 때문에).ffmpeg로 조각난 MP4를 디스크로 스트리밍하는 방법은 무엇입니까?

MP4 형식에서 아이디어 나 솔루션을 찾을 수 있는지 확실하지 않습니다.

답변

0

단편화 된 MP4가이를 수행하는 방법이지만 empty_moov를 사용합니다. 일반 MP4 파일은 모든 것이 이미 알려진 경우 끝에 (fMP4와 같은 시작 부분이 아님) 끝에 헤더가 있습니다. 스트리밍을위한 것이 아닙니다.

작은 MP4 파일 (심지어 하나의 GOP)을 작성하고 fast_start (또는 유사한 파일)를 사용하여 헤더를 파일의 시작 부분으로 이동할 수 있습니다. 나는 연속적으로 여러 파일을 재생하는 오버 헤드가 무엇인지 알지 못하며 매우 부드러운 재생을 얻지 못할 수도 있습니다.

이미 비디오를 트랜스 코딩하고 읽은 후 데이터를 삭제 한 경우 (또는 공간에 문제가없는 경우) MJPEG을 출력 할 수 있습니다.