È 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:
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!