003 Come usare FFmpeg e Mediainfo per analizzare files multimediali.
003 Come usare FFmpeg e Mediainfo per analizzare files multimediali.
003.1 Ottenere informazioni relative alla versione di FFmpeg in uso, co-dec disponibili, e opzioni utilizzabili.
aprire un terminale ed impartire i comandi:
ffmpeg -version # Versione di FFmpeg in uso ffmpeg -codecs # Mostra elenco dei vari codec utilizzabili per leggere files ffmpeg -decoders # Mostra elenco dei vari decoder utilizzabili per leggere files multimediali ffmpeg -encoders # Mostra elenco dei vari encoder utilizzabili per creare files multimediali ffmpeg -h decoder=mpeg4 # Visualizza opzioni specifiche e informazioni su un particolare DECodificatore ffmpeg -h encoder=mpeg4 # Visualizza opzioni specifiche e informazioni su un particolare Codificatore ffmpeg -h # Mostra breve elenco opzioni utilizzabili ffmpeg -h full # Mostra elenco completo delle opzioni utilizzabili
003.2 Ottenere informazioni relative alle caratteristiche di una sorgente video HARDWARE.
Aprire un terminale ed impartire i comandi:
ffmpeg -devices -hide_banner # Elenca i dispositivi multimediali disponibili ffmpeg -f x11grab -i :0.0 -hide_banner # Elenca caratteristiche della sorgente video SCHERMO DEL COMPUTER ffprobe -f x11grab -i :0.0 -hide_banner # Elenca caratteristiche della sorgente video SCHERMO DEL COMPUTER ffmpeg -i /dev/video0 -hide_banner # Elenca caratteristiche della sorgente video WEBCAM ffprobe -i /dev/video0 -hide_banner # Elenca caratteristiche della sorgente video WEBCAM ffprobe -f alsa -i default -hide_banner # Elenca caratteristiche della sorgente audio ALSA ffprobe -f pulse -i default -hide_banner # Elenca caratteristiche della sorgente audio PULSE
003.3 Ottenere informazioni relative alle caratteristiche di un FILE MULTIMEDIALE.
Aprire un terminale ed impartire i comandi:
ffmpeg -i videoIN.mp4 -hide_banner # Elenca caratteristiche del file multimediale videoIN.mp4 ffprobe -i videoIN.mp4 -hide_banner # Elenca caratteristiche del file multimediale videoIN.mp4 mediainfo videoIN.mp4 # Elenca caratteristiche del file multimediale videoIN.mp4
videoIN.mp4 è il nome del file multimediale di cui si desidera conoscere le caratteristiche.
Non sempre servono tutte le informazioni fornite da questi comandi; spesso è sufficiente visionare l’output dei comandi
ffmpeg -i videoIN.mp4 -hide_banner 2>&1 | grep Stream # Mostra i parametri principali di un file video chiamato videoIN.mp4 ffprobe -i videoIN.mp4 -hide_banner 2>&1 | grep Stream # Mostra i parametri principali di un file video chiamato videoIN.mp4 mediainfo videoIN.mp4 | egrep -A3 'name|File|Width' # Mostra i parametri principali di un file video chiamato videoIN.mp4
oppure
mediainfo videoIN.mp4 | egrep -A3 Width # Mostra larghezza, altezza, rapporto e, se presente, ROTAZIONE di un file video chiamato videoIN.mp4
.
In alternativa, per visualizzare i metadati delle immagini, è possibile utilizzare il
comando di ImageMagick: [identify -verbose nomeFoto.estensione].
identify -verbose foto.jpg # Usa ImageMagick per leggere i metadati dell'immagine foto.jpg
.
003.4 Scrivere in un file di testo le informazioni relative alle caratteristiche di una sorgente video HARDWARE o di un FILE MULTIMEDIALE.
L’output di un comando BASH è di due tipi: Output standard (canale 1) che contiene esclusivamente l’effetto del comando, ed Errore standard (canale 2) che contiene esclusivamente messaggi di errore ed avvisi vari che accompagnano l’esecuzione del comando stesso. Di default, l’output del canale 1 può essere reindirizzato verso un file di testo frapponendo l’operatore [>] (senza parentesi quadre) fra il comando BASH ed il nome del file di testo che si desidera che contenga l’output del comando stesso; l’output del canale 2 (Error standard) viene indirizzato sul terminale a prescindere di dove sia stato reindirizzato l’output del canale 1 (Output standard). Per far confluire in un file di testo avvisi e messaggi di errore che, di default, verrebbero visualizzati sul canale 2, non basta reindirizzare l’output del canale 1 verso un file di testo, ma occorre altresì indirizzare l’output del canale 2 verso il canale 1; questo effetto si ottiene ponendo l’operatore [2>&1] (senza parentesi quadre) in coda al comando suddetto.
Seguono alcuni esempi di re-indirizzamento dell’output in un file di testo.
ffmpeg -f x11grab -i :0.0 -hide_banner > info.txt 2>&1 # Crea il file di testo 'info.txt' contenente le caratteristiche della sorgente video SCHERMO DEL COMPUTER ffprobe -f x11grab -i :0.0 -hide_banner > info.txt 2>&1 # Crea il file di testo 'info.txt' contenente le caratteristiche della sorgente video SCHERMO DEL COMPUTER ffmpeg -i /dev/video0 -hide_banner > info.txt 2>&1 # Crea il file di testo 'info.txt' contenente le caratteristiche della sorgente video WEBCAM ffprobe -i /dev/video0 -hide_banner > info.txt 2>&1 # Crea il file di testo 'info.txt' contenente le caratteristiche della sorgente video WEBCAM ffprobe -f alsa -i default -hide_banner > info.txt 2>&1 # Crea il file di testo 'info.txt' contenente le caratteristiche della sorgente audio ALSA ffprobe -f pulse -i default -hide_banner > info.txt 2>&1 # Crea il file di testo 'info.txt' contenente le caratteristiche della sorgente audio ALSA ffmpeg -i videoIN.mp4 -hide_banner > info.txt 2>&1 # Crea il file di testo 'info.txt' contenente le caratteristiche del file multimediale videoIN.mp4 ffprobe -i videoIN.mp4 -hide_banner > info.txt 2>&1 # Crea il file di testo 'info.txt' contenente le caratteristiche del file multimediale videoIN.mp4