FFPROBE LINUX Comando Esempio di utilizzo

FFPROBE LINUX Comando Esempio di utilizzo
“FFProbe è un comando Linux utilizzato per recuperare le informazioni dai file multimediali. Il comando visualizza quindi l'output in una macchina o in formato leggibile dall'uomo. Con FFProbe, puoi raccogliere informazioni, come dimensioni, velocità di bit, altezza, larghezza, codec e formato pixel del flusso multimediale. FFProbe è uno strumento indispensabile nel tuo toolkit di elaborazione video.

È possibile utilizzare FFPROBE come applicazione autonoma o con un filtro testuale diverso per eseguire l'elaborazione avanzata, come la trama e l'elaborazione statistica.

Puoi usare ffprobe con diverse opzioni. In questo articolo, imparerai alcuni degli esempi di utilizzo comuni di FFPROBE per migliorare l'analisi video e le capacità di estrazione delle informazioni. Iniziamo!"

Iniziare con ffprobe

È possibile installare ffprobe utilizzando il gestore pacchetti sul tuo Linux. È necessario installare FFMPEG, che a sua volta installa FFPROBE utilizzando il comando di seguito:

$ sudo apt-get Installa ffmpeg


Per verificare l'installazione, digitare il comando ffmpeg sul terminale. Dovrebbe visualizzare la configurazione e la versione di FFMPEG installato.

Esempi di utilizzo di base di ffprobe

1. Ottieni proprietà del file

È possibile utilizzare il FFPROBE con il file multimediale per recuperare tutti i suoi dettagli. In questo esempio, useremo un video scaricato, Samplevid.MP4, situato nella nostra directory di video.

Il comando sarà:

$ ffprobe Samplevid.MP4

L'uscita visualizzata è:

Puoi notare che l'output ha troppo "rumore". È possibile filtrare le informazioni e nascondere il banner per visualizzare solo le informazioni necessarie utilizzando il -Hide_Banner opzione

$ ffprobe -hide_banner samplevid.MP4

L'output senza il banner sembrerà quello sotto.

I dettagli chiave dall'output includono:

  • Il nostro campionevid.MP4 utilizza il formato "MOV, MP4, M4A, 3GP, 3G2, MJ2".
  • Puoi anche vedere la data e l'ora in cui è stato creato il file, 2020-09-12.
  • La durata rappresenta la lunghezza del file video e il bitrate corrispondente di 234 kb/s
  • Possiamo anche notare che il file multimedia ha due flussi, video e audio.

2. Specificatori di frode ffprobe

La maggior parte dei file multimediali contiene flussi audio e video e alcuni anche in più lingue. Utilizzando FFProbe, puoi scegliere solo per ispezionare un flusso specifico.

Quando si stampa l'output del file video, visualizza i due flussi. STream #0: 0 rappresenta il flusso video e Stream #0: 1 rappresenta il flusso audio.

In ffprobe, per specificare quale flusso utilizzare, il Select_Streams l'opzione viene aggiunta. Usa 'V' o 'V' per scegliere un video e 'A' per scegliere l'audio. Per il sottotitolo, usa 's'.

Nel nostro caso, per ispezionare il flusso audio e ottenere il suo bit rate, utilizzare il comando:

$ ffprobe -hide_banner -v panic -select_streams a: 0 -show_entries stream = bit_rate campionevid.MP4

IL -v Panico O -V Errore aiuto To Ridurre l'output visualizzato.

Per ispezionare il flusso video, sostituire il UN con v come mostrato di seguito:

$ ffprobe -hide_banner -v panic -select_streams v: 0 -show_entries stream = bit_rate campionevid.MP4

3. Nascondi il [stream] e [/stream] negli specificatori del flusso

Per sbarazzarsi dei fastidiosi involucri che circondano i risultati degli specificatori del flusso, è necessario aggiungere -di noprint_wrappers = 1

Il comando precedente per visualizzare il flusso audio può essere riscritto come:

$ ffprobe -hide_banner -v panic -select_streams a: 0 -show_entries stream = bit_rate -of default = noprint_wrappers = 1 sample.MP4

Il nuovo output sarà:

4. Ottieni informazioni per ogni flusso

Se è necessario accedere alle informazioni di tutti i flussi del file multimediale indicato, utilizzare il -show_streams specificatore.

$ ffprobe -hide_banner -v panic -select_streams v: 0 -show_streams Samplevidid.MP4

È possibile visualizzare molti dettagli dall'output, inclusi dimensioni, profilo, formato pixel, bitrate, rate di frame, altezza, ecc.

5. Ottieni i dettagli del formato del contenitore

Per ottenere i dettagli del formato del contenitore, usa il -show_format

$ ffprobe -hide_banner -v panic -select_streams v: 0 -show_format Samplevid.MP4

I dettagli del contenitore, inclusi bitrate, dimensioni e tag, verranno visualizzati come mostrato:

6. Ottieni informazioni su ogni pacchetto

Per un file video, è possibile ottenere i dettagli di ogni pacchetto utilizzando il -show_packet specificatore.

$ ffprobe -hide_banner -v panic -select_streams v: 0 -show_packets samplevid.MP4

L'uscita visualizza le dimensioni, la durata e i dettagli di convergenza, racchiuso tra il [pacchetto] [/pacchetto].

7. Ottieni i dettagli di ogni frame

Un video ha molte cornici e possiamo estrarre le informazioni dei frame, come altezza, tipo di immagine, timestamp e spazio a colori, usando il show_frames. La cornice ha tonnellate di informazioni, ma sono utili.

$ ffprobe -hide_banner -v panic -select_streams v: 0 -show_frame sample.MP4

L'uscita di ciascun frame verrà racchiuso all'interno del [frame] e [/frame]

8. Formato di output FFPROBE

Fortunatamente, FFProbe ti consente di scegliere il formato di output desiderato, come i formati CSV, JSON e XML -print_format

Possiamo facilmente scegliere quale formato visualizzare l'output usando gli esempi sopra. Ad esempio, per mostrare il formato del contenitore in diversi formati, consultare gli esempi seguenti.

Per usare CSV:

$ ffprobe -hide_banner -v panic -select_streams v: 0 -print_format csv -show_format campionevid.MP4

Per usare JSON:

$ ffprobe -hide_banner -v panic -select_streams v: 0 -print_format json -show_format campionevid.MP4

Per usare XML:

$ ffprobe -hide_banner -v panic -select_streams v: 0 -print_format xml -show_format campionevid.MP4

Per usare ini:

$ ffprobe -hide_banner -v panic -select_streams v: 0 -print_format ini -show_format campionevid.MP4

9. Estrarre dettagli specifici dai flussi

Con FFProbe, è possibile recuperare dettagli specifici come larghezza, altezza, punti (timestamp per immagini), durata, ecc.

Per ottenere il bitrate

Il bitrate del video può essere estratto usando il stream = bit_rate specificatore. In questo caso, stamperemo in formato JSON.

$ ffprobe -hide_banner -v panic -select_streams v: 0 -print_format json -show_entries stream = bit_rate campionevid.MP4

Per ottenere il tipo di immagine

Ogni frame ha un tipo di immagine diverso. È possibile visualizzare il tipo di immagine in qualsiasi formato usando il frame = pict_type specificatore. Mostreremo il tipo di immagine in un formato piatto usando il comando qui sotto.

$ ffprobe -hide_banner -v panic -select_streams v: 0 -print_format flat -show_entries frame = pit_type sample.MP4

Per ottenere la durata del video

Per questo, usa il Stream = durata Specificatore come di seguito per ottenere la durata in JSON.

$ ffprobe -hide_banner -v panic -select_streams v: 0 -print_format json -show_entries stream = durata sample.MP4

Per ottenere la larghezza e l'altezza

Usando FFPROBE, è possibile estrarre la larghezza e l'altezza del video in qualsiasi formato come mostrato.

Usa il Stream = larghezza, altezza specificatore.

$ ffprobe -hide_banner -v panic -select_streams v: 0 -print_format json -show_entries stream = larghezza, altezza campionevid.MP4

Per ottenere i punti

IL packet = pts_time Specifier otterrà tutti i punti di tutti i pacchetti.

$ ffprobe -hide_banner -v panic -select_streams v: 0 -print_format flat -show_entries packet = pts_time sampletvid.MP4

Conclusione

Il ffprobe è un potente strumento di utilità Linux e ciò che abbiamo trattato qui è solo un graffio della superficie. Ci sono molti specificatori che puoi combinare con FFPROBE per ottenere funzionalità. Tuttavia, abbiamo toccato il comune una volta, ma puoi controllare la documentazione FFPROBE per capirla di più. Divertiti con ffprobe!