Використання FFmpeg для знаходження атома Moov


20

У мене є бібліотека відеофільмів, усі з яких повинні були бути відрегульовані для веб-потоку, поставивши moovатом попереду решти відео. Це дозволяє розпочати відтворення до того, як клієнт повністю завантажив відео.

Чи є надійний спосіб перевірити, чи було відрегульовано певне відео, розмістивши скільки байтів в moovатомі? Це лише для налагодження.


4
Тільки для ознайомлення з іншими, хто зацікавлений розмістити атом moov на початку для полегшення відтворення, див. -movflags faststartОпцію чи qt-faststartінструмент ffmpeg.
llogan

Відповіді:


22

FFmpeg насправді не покаже вам цю інформацію.

Ви можете використовувати AtomicParsley для розбору файлу, наприклад:

AtomicParsley input.mp4 -T 

Це покаже вам розташування атомів на дереві. Якщо moovатом знаходиться на початку файлу, він повинен з’явитися відразу після ftypатома, тож ви можете спробувати проаналізувати вихід, наприклад, у Bash, лише надрукувавши другий рядок і перевіривши, чи містить він moov:

AtomicParsley input.mp4 -T | sed -n 2p | grep -q "moov" && echo "yup" || echo "nope"

Ха-ха, ну… рада допомогти :)
slhck

Зауважте, це не буде працювати для файлів DASH YouTube.
Стівен Пенні

1
@StevenPenny Правильно, сегменти DASH не містять усього дерева Atom, тому що це лише сегменти, а не повні файли ISO Base Media.
slhck

12

Використовуючи цеqtfaststart (не те саме, що у ffmpeg's qt-faststart), qtfaststart -l вхід .mp4 відобразить порядок атомів верхнього рівня.

$ qtfaststart -l bad.mp4
ftyp (32 bytes)
free (8 bytes)
mdat (559619 bytes)
moov (52916 bytes)
$ qtfaststart -l good.mp4
ftyp (32 bytes)
moov (52916 bytes)
mdat (559619 bytes)
$

3
Якщо ви pipвстановили, ви можете встановити qtfaststartзpip install qtfaststart
qff

Ви також можете встановити програму Homebrew:brew install qtfaststart
Брендон Дарем

-1

Це можна зробити за допомогою FFprobe:

ffprobe -v trace infile.mp4

Або з Bento4 :

$ mp4info infile.m4a
Файл:
  Основна марка: isom
  незначна версія: 200
  сумісна марка: isom
  сумісна марка: iso2
  сумісна марка: mp41
  швидкий старт: ні

$ mp4info outfile.m4a
Файл:
  Основна марка: isom
  незначна версія: 200
  сумісна марка: isom
  сумісна марка: iso2
  сумісна марка: mp41
  швидкий старт: так
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.