Utilizzo di FFmpeg per individuare l'atomo di moov


20

Ho una libreria di video, che avrebbero dovuto essere adattati per lo streaming web mettendo l' moovatomo davanti al resto del video. Ciò consente di iniziare la riproduzione prima che il client abbia scaricato completamente il video.

Esiste un modo affidabile per verificare se un determinato video è stato regolato individuando quanti byte si moovverificano nell'atomo? Questo è solo a scopo di debug.


4
Solo per riferimento per gli altri interessati a posizionare l'atomo moov all'inizio per facilitare la riproduzione, vedere l' -movflags faststartopzione o lo qt-faststartstrumento in ffmpeg.
llogan

Risposte:


22

FFmpeg non ti mostrerà queste informazioni, davvero.

È possibile utilizzare AtomicParsley per analizzare il file, ad esempio:

AtomicParsley input.mp4 -T 

Questo ti mostrerà la posizione degli atomi in un albero. Se l' moovatomo si trova all'inizio del file, dovrà venire subito dopo l' ftypatomo, quindi potresti provare ad analizzare l'output, ad esempio in Bash, stampare solo la seconda riga e verificare se contiene moov:

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

Ahah, beh ... felice di aiutarti :)
slhck

Nota, questo non funzionerà sui file DASH di YouTube.
Steven Penny,

1
@StevenPenny I segmenti DASH non contengono l'intero albero Atom, poiché sono solo segmenti, non file multimediali di base ISO completi.
slhck,

12

Usando questoqtfaststart (non lo stesso di ffmpeg qt-faststart), qtfaststart -l input .mp4 mostrerà l'ordine degli atomi di livello superiore.

$ 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
Se hai pipinstallato puoi installarlo qtfaststartconpip install qtfaststart
qff

Puoi anche installare con Homebrew:brew install qtfaststart
Brandon Durham il

-1

Puoi farlo con FFprobe:

ffprobe -v trace infile.mp4

O con Bento4 :

$ mp4info infile.m4a
File:
  marchio principale: isom
  versione secondaria: 200
  marchio compatibile: isom
  marchio compatibile: iso2
  marchio compatibile: mp41
  avvio rapido: no

$ mp4info outfile.m4a
File:
  marchio principale: isom
  versione secondaria: 200
  marchio compatibile: isom
  marchio compatibile: iso2
  marchio compatibile: mp41
  avvio rapido: si
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.