ffmpeg: recuperare la dimensione di un video

Per un’attività mi è capitato di dover estrapolare in sequenza le dimensioni (width e height) di video. Avendo già installato ffmpeg, usato poi per la conversione, ho optato per i seguenti comandi.

Con ffmpeg si può estrapolare questa informazione, ma non in modo chiaro:

ffmpeg -i 1590605641035c7-orig.mp4

La cosa migliore è usare ffprobe:

ffprobe -v error -show_entries stream=width,height -of csv=p=0:s=x input.mp4

1920x1620

Oppure

ffprobe -v error -show_entries stream=width,height -of default=noprint_wrappers=1 input.mp4

width=1920
height=1620

O ancora, con risultato in formato JSON:

ffprobe -v error -show_entries stream=width,height -of json input.mp4

{
"programs": [
], "streams": [ { "width": 1920, "height": 1620 }, { } ]
}

Il risultato è lo stesso, cambia la forma con cui viene restituito.

Per avere invece il dettagli di tutti i parametri:

ffprobe -v quiet -print_format json -show_format -show_streams input.mp4

Nota importante

I parametri SAR (sample aspect ratio) e DAR (display aspect ratio) indicano una cosa importante (nota), ovvero identificare quale sia il rapporto tra la densità di informazioni tra la larghezza (asse X) ed altezza (asse Y) del pixel, in poche parole se il pixel è quadrato o rettangolare (si, “suona” strano ma è così).

I video player (es VLC) oltre a leggere width e height del video, guardando anche questi parametri e riescono a mostrare in modo corretto il video, benché il formato possa essere diverso. Faccio un esempio, con il comando:

ffmpeg -i input.mp4

vediamo, tra le altre cose:

Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 1920x1620 [SAR 3:2 DAR 16:9], 5130 kb/s, 25 fps, 25 tbr, 12800 tbn, 50 tbc (default)

Questo significa che il video è si un 1920x1620, ma se lo andiamo a visualizzare in un player, ci verrà automaticamente mostrato come 2880x1620 ovvero (1920 x 3:2) x 1620, oppure come 1920x1088 ovvero 1920 x (1620 x 2:3). In entrambe i casi risultanti (quindi 2880×1620 oppure 1920×1088) combaceranno con il formato DAR di 16:9.

enjoy!

Ti interessa acquistare un dominio a prezzi ultraconvenienti? clicca qui

Se hai trovato utili le informazioni su questo blog,
Fai una donazione!
Clicca sul bottone qui sotto o almeno clicca sul banner pubblicitario 🙂



Commenta