FFMpeg – Récupérez des infos sur vos vidéos à l’aide d’un simple script ou de la commande mediainfo
FFmpeg est des softs les plus utilisé sous GNU/Linux et bien qu’il s’utilise en ligne de commande, celui-ci a généré un très grand nombre de GUI permettant de lire différents types de fichiers multimédia, ou permettant de convertir des fichiers à toutes les sauces. Pas mal de ces utilitaires permettent également d’avoir accès aux diverses informations concernant vos fichiers, comme par exemple les types de codecs utilisés, les fps, le bitrate, les sous-titres, la durée, etc…
Comme nous sommes en train de devenir des geeks et que (j’en suis certain) vous commencez à aimer le terminal, nous allons voir comment afficher des informations relatives à vos fichiers, grâce à un petit script Perl sympa (videodettagli) et à une simple ligne de commande.
Installation :
La première chose à faire est de télécharger le script (source lffl.org) à l’aide de la commande suivante :
wget http://sourceforge.net/projects/linuxfreedomfor/files/script/videodettagli
Rendez-vous ensuite dans le répertoire où il se trouve à l’aide de la commande « cd » et attribuez lui les droits d’exécution :
chmod +x videodettagli
Usage :
Pour l’utiliser rien de plus simple. Il suffit d’entrer la commande de base « videodettagli », précédée de « ./ » et suivie de « nomdefichier.extension ».
Exemple :
./videodettagli scrat.avi
Il va vous falloir patienter quelques instants (jusqu’à un minute), au terme de quoi vous devriez avoir un retour terminal de ce style :
[avi @ 0x86ddec0] non-interleaved AVI [h264 @ 0x86dfd80] missing picture in access unit Last message repeated 242 times [avi @ 0x86ddec0] max_analyze_duration reached Input #0, avi, from ‘scrat.avi’:
Metadata: encoder : Lavf53.21.1 Duration: 00:00:35.01, start: 0.000000, bitrate: 10547 kb/s Stream #0.0:
Video: h264 (High), yuv420p, 1280×720, 47.95 fps, 23.98 tbr, 48k tbn, 47.95 tbc Stream #0.1:
Audio: aac, 44100 Hz, stereo, s16, 151 kb/s At least one output file must be specified duration: 00:00:35.01 durationsecs: 35.01
bitrate: 10547 vcodec: vformat: acodec: aac asamplerate: 44100 achannels:
Vous pouvez également utiliser la syntaxe suivante pour exporter le résultat de la commande dans un fichier texte, en place et lieu de votre terminal :
./videodettagli scrat.avi > scrat-info.txt
Le symbole « > » va indiquer que le résultat de la commande doit être redirigé dans un fichier, que nous avons nommé pour l’occasion »scrat-info.txt ».
Vous pouvez voir ce que ça donne sur la capture ci-dessous.
Voilà qui est fait :)
Nous avons revu comment donner les droits d’exécution à un script, comment le télécharger avec « wget » et nous avons vu comment rediriger la sortie d’une commande dans un fichier texte à la place du terminal, à l’aide du symbole « > ».
Le fait est que ce script envoie certes quelques infos de base, mais celles-ci sont peu nombreuses. De plus certains d’entre vous n’aimeront peut-être pas l’idée de passer par un script tiers, alors qu’une autre commande suffit amplement.
Si vous ne voulez donc pas utiliser ce script pour une raison x ou y, vous pouvez faire la même chose avec la commande « mediainfo ». Celle-ci fait très bien l’affaire et va vous renvoyer des infos encore plus détaillées.
Voici la commande que vous devez entrer et ce que vous obtiendrez avec celle-ci, pour le même fichier :
Exemple :
lavachelibre@lavachelibre:~/test$ mediainfo scrat.avi
Retour :
General
Complete name : scrat.avi
Format : AVI
Format/Info : Audio Video Interleave
File size : 44.0 MiB
Duration : 35s 16ms
Overall bit rate : 10.5 Mbps
Writing application : Lavf53.21.1
Video
ID : 0
Format : AVC
Format/Info : Advanced Video Codec
Format profile : High@L3.1
Format settings, CABAC : Yes
Format settings, ReFrames : 1 frame
Format settings, GOP : M=1, N=30
Codec ID : avc1
Duration : 34s 998ms
Bit rate : 1 174 Kbps
Width : 1 280 pixels
Height : 720 pixels
Display aspect ratio : 16:9
Frame rate mode : Variable
Frame rate : 48 000.000 fps
Color space : YUV
Chroma subsampling : 4:2:0
Bit depth : 8 bits
Scan type : Progressive
Bits/(Pixel*Frame) : 0.000
Stream size : 4.90 MiB (11%)
Audio
ID : 1
Format : AAC
Format/Info : Advanced Audio Codec
Format profile : LC
Codec ID : FF
Duration : 35s 16ms
Bit rate : 152 Kbps
Channel(s) : 2 channels
Channel positions : Front: L R
Sampling rate : 44.1 KHz
Compression mode : Lossy
Stream size : 650 KiB (1%)
Alignment : Split accross interleaves
Interleave, duration : 23 ms (1 114.00 video frames)
Comme vous pouvez le voir elle est bien plus complète et vous donnera plus d’infos. Vous pouvez bien entendu rediriger les résultats dans un fichier texte, de la même manière qu’avec la commande précédente « > ».
J’espère que cela vous sera utile et à vous de jouer maintenant :)
Amusez-vous bien.