Различные результаты с использованием qt-faststart и "ffmpeg -movflags + faststart" - PullRequest
0 голосов
/ 31 марта 2020

У меня есть набор видео, сгенерированных камерами безопасности, у которых атом MOOV находится в конце файла, например:

ftyp (32 bytes)
free (8 bytes)
mdat (29647845 bytes)
moov (42054 bytes)

Я хочу обслуживать эти файлы с помощью прогрессивной загрузки (псевдопотоковая передача). ) и это единственный приемлемый способ сделать это.

Зная, что я пытался использовать такие инструменты, как qt-faststart или напрямую ffmpeg с соответствующими флагами (-movflags +faststart). Другая деталь заключается в том, что я запускаю это на низкопрофильном компьютере, и FFmpeg занимает около 6 ~ 8 секунд, чтобы завершить sh (даже используя -c copy), а другой инструмент получается намного более эффективным, так как он только перемещает некоторые байт, занимает менее секунды до конечной sh. Дело в том, что qt-faststart создает видео, которое не может быть псевдопотоковым, но ffmpeg делает это. Вот некоторые сравнения:

ffmpeg:

ftyp (32 bytes)
moov (42422 bytes)
free (8 bytes)
mdat (29647845 bytes)

qt-faststart:

ftyp (32 bytes)
moov (42054 bytes)
free (8 bytes)
mdat (29647845 bytes)

Как видите, FFmpeg добавляет несколько дополнительных байтов в MOOV атом, кто-нибудь может указать мне в каком-то направлении исследований? Спасибо всем.

...