Как определить, установлен ли fasttstart для видео с помощью ffmpeg или ffprobe - PullRequest
1 голос
/ 10 июля 2019

У меня проблемы с выяснением, как определить, установлен ли fasttstart для видео MP4.

Я понимаю, что "moov atom" - это данные, которые должны быть расположены в начале файла, чтобы включить быстрый запуск, а не в конце файла.

Я специально хочу использовать ffmpeg или ffprobe, чтобы определить, был ли он перемещен в начало или нет.

Что касается примечания, я понимаю, что могу выполнить следующую команду, чтобы переместить ее из конца в начало (но я хочу выяснить, существует ли она уже):

ffmpeg -i infile.mp4 -map 0 -c:v copy -c:a copy -c:s copy -c:d copy -c:t copy -movflags +faststart outfile.mp4

1 Ответ

3 голосов
/ 10 июля 2019

Выполнить

ffmpeg -v trace -i file.mp4 2>&1 | grep -e type:'mdat' -e type:'moov'

Это приведет к выводу наподобие

[mov,mp4,m4a,3gp,3g2,mj2 @ 000000000036ca40] type:'mdat' parent:'root' sz: 62740 48 65044 [mov,mp4,m4a,3gp,3g2,mj2 @ 000000000036ca40] type:'moov' parent:'root' sz: 2264 62788 65044

Поскольку moov появляется вторым, он находится наконец в этом примере.

В оболочкообразных оболочках экранируйте одинарные кавычки:

ffmpeg -v trace -i file.mp4 2>&1 | grep -e type:\'mdat\' -e type:\'moov\'

...