Logiciels multimédia en console

mediainfo : Lire les métadonnées des fichiers multimédia

Table des matières

Introduction



MediaInfo est un utilitaire qui permet d'extraire et d'afficher des informations techniques et des métadonnées sur des fichiers multimédias. Il prend en charge une large gamme de formats audio et vidéo, et fournit des détails tels que le codec, le débit binaire, la durée, la résolution, les pistes audio et vidéo, ainsi que les sous-titres.
Alors que des outils tels que ffmpeg peuvent afficher ces informations, mediainfo les affiche de façon lisible.

On pourra ensuite utiliser awk ou d'autres outils dans nos scripts pour récupérer les informations qui nous intéressent.

Installation



Mediainfo n'est pas installé par défaut sous Linux. Il suffit d'installer le paquet du même nom :

Pour Fedora, RHEL et dérivées (Nécessite EPEL) :
Code BASH :
dnf install mediainfo


Pour Debian, Ubuntu et dérivées :
Code BASH :
apt install mediainfo


Pour Gentoo et dérivées :
Code BASH :
emerge -av media-video/mediainfo


Il existe une interface graphique, il suffit d'installer mediainfo-gui !

Utilisation



mediainfo fonctionne en ligne de commande avec la commande portant le même nom.

Exemple permettant d'afficher les métadonnées d'un fichier audio :
Code BASH :
mediainfo monfichier.mp3


Ce qui retourne pour le morceau Oxygen 4 de Jean-Michel Jarre un résultat très verbeux :
Code TEXT :
General
Complete name                            : 04_oxygene_part_4.mp3
Format                                   : MPEG Audio
File size                                : 10.1 MiB
Duration                                 : 4 min 6 s
Overall bit rate                         : 320 kb/s
Album                                    : Oxygene
Album/Performer                          : Jean-Michel Jarre
Part/Position                            : 1
Part/Total                               : 1
Track name                               : Oxygene Part 4
Track name/Position                      : 04
Track name/Total                         : 06
Performer                                : Jean-Michel Jarre
Composer                                 : Jean-Michel Jarre
Publisher                                : Sony Music
Genre                                    : Electronic
Recorded date                            : 1976
Writing library                          : LAME3.99 
Cover                                    : Yes
Cover type                               : Cover (front)
Cover MIME                               : image/jpeg
Comment                                  : 
Audio
Format                                   : MPEG Audio
Format version                           : Version 1
Format profile                           : Layer 3
Format settings                          : Joint stereo
Duration                                 : 4 min 6 s
Bit rate mode                            : Constant
Bit rate                                 : 320 kb/s
Channel(s)                               : 2 channels
Sampling rate                            : 44.1 kHz
Frame rate                               : 38.281 FPS (1152 SPF)
Compression mode                         : Lossy
Stream size                              : 9.42 MiB (94%)
Writing library                          : LAME3.99 
Encoding settings                        : -m j -V 4 -q 3 -lowpass 20.5
Image
Format                                   : JPEG
Width                                    : 1 000 pixels
Height                                   : 1 000 pixels
Color space                              : YUV
Chroma subsampling                       : 4:4:4
Bit depth                                : 8 bits
Compression mode                         : Lossy
Stream size                              : 654 KiB (6%)


On a énormément d'informations sur le fichier en général, ses TAG, et les informations techniques audio (Format, Codec, Durée, bitrate, fréquence) ainsi que sur la vignette intégrée.

Voici ce que cela retourne sur un enregistrement vidéo :
Code TEXT :
General
ID                                       : 1 (0x1)
Complete name                            : enregistrement-livestream-twitch.mp4
Format                                   : MPEG-TS
File size                                : 5.08 GiB
Duration                                 : 4 h 4 min
Overall bit rate mode                    : Variable
Overall bit rate                         : 2 973 kb/s
FileExtension_Invalid                    : ts m2t m2s m4t m4s tmf ts tp trp ty
Video
ID                                       : 256 (0x100)
Menu ID                                  : 1 (0x1)
Format                                   : AVC
Format/Info                              : Advanced Video Codec
Format profile                           : Main@L4
Format settings                          : CABAC / 4 Ref Frames
Format settings, CABAC                   : Yes
Format settings, Reference frames        : 4 frames
Codec ID                                 : 27
Duration                                 : 4 h 4 min
Width                                    : 1 920 pixels
Height                                   : 1 080 pixels
Display aspect ratio                     : 16:9
Frame rate mode                          : Variable
Color space                              : YUV
Chroma subsampling                       : 4:2:0
Bit depth                                : 8 bits
Scan type                                : Progressive
Color range                              : Limited
Color primaries                          : BT.709
Transfer characteristics                 : BT.709
Matrix coefficients                      : BT.709
Audio
ID                                       : 257 (0x101)
Menu ID                                  : 1 (0x1)
Format                                   : AAC LC
Format/Info                              : Advanced Audio Codec Low Complexity
Format version                           : Version 4
Muxing mode                              : ADTS
Codec ID                                 : 15-2
Duration                                 : 4 h 4 min
Bit rate mode                            : Variable
Channel(s)                               : 2 channels
Channel layout                           : L R
Sampling rate                            : 44.1 kHz
Frame rate                               : 43.066 FPS (1024 SPF)
Compression mode                         : Lossy
Menu
ID                                       : 4096 (0x1000)
Menu ID                                  : 1 (0x1)
Format                                   : AVC / AAC
Duration                                 : 4 h 4 min
List                                     : 256 (0x100) (AVC) / 257 (0x101) (AAC)
Service name                             : Service01
Service provider                         : FFmpeg
Service type                             : digital television
 


On pourra avoir encore plus d'informations avec l'option -f :
Code BASH :
mediainfo -f monfichier.mp3


Je vous passe la sortie générée, car c'est vraiment énorme.

On pourra générer une sortie en XML si on souhaite traiter ces infos avec une application :
Code BASH :
mediainfo  --output=XML monfichier.mp3


Ce qui donne toujours pour le même fichier :
Code XML :
<?xml version="1.0" encoding="UTF-8"?>
<MediaInfo
    xmlns="https://mediaarea.net/mediainfo"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="https://mediaarea.net/mediainfo https://mediaarea.net/mediainfo/mediainfo_2_0.xsd"
    version="2.0">
<creatingLibrary version="24.04" url="https://mediaarea.net/MediaInfo">MediaInfoLib</creatingLibrary>
<media ref="04_oxygene_part_4.mp3">
<track type="General">
<AudioCount>1</AudioCount>
<ImageCount>1</ImageCount>
<FileExtension>mp3</FileExtension>
<Format>MPEG Audio</Format>
<FileSize>10551093</FileSize>
<Duration>246.935</Duration>
<OverallBitRate>320000</OverallBitRate>
<StreamSize>672629</StreamSize>
<Title>Oxygene Part 4</Title>
<Album>Oxygene</Album>
<Album_Performer>Jean-Michel Jarre</Album_Performer>
<Part_Position>1</Part_Position>
<Part_Position_Total>1</Part_Position_Total>
<Track>Oxygene Part 4</Track>
<Track_Position>04</Track_Position>
<Track_Position_Total>06</Track_Position_Total>
<Performer>Jean-Michel Jarre</Performer>
<Composer>Jean-Michel Jarre</Composer>
<Publisher>Sony Music</Publisher>
<Genre>Electronic</Genre>
<Recorded_Date>1976</Recorded_Date>
<File_Modified_Date>2024-11-05 06:57:10 UTC</File_Modified_Date>
<File_Modified_Date_Local>2024-11-05 07:57:10</File_Modified_Date_Local>
<Encoded_Library>LAME3.99 </Encoded_Library>
<Cover>Yes</Cover>
<Cover_Type>Cover (front)</Cover_Type>
<Cover_Mime>image/jpeg</Cover_Mime>
<Comment></Comment>
</track>
<track type="Audio">
<Format>MPEG Audio</Format>
<Format_Version>1</Format_Version>
<Format_Profile>Layer 3</Format_Profile>
<Format_Settings_Mode>Joint stereo</Format_Settings_Mode>
<Duration>246.936</Duration>
<BitRate_Mode>CBR</BitRate_Mode>
<BitRate>320000</BitRate>
<Channels>2</Channels>
<SamplesPerFrame>1152</SamplesPerFrame>
<SamplingRate>44100</SamplingRate>
<SamplingCount>10889856</SamplingCount>
<FrameRate>38.281</FrameRate>
<FrameCount>9453</FrameCount>
<Compression_Mode>Lossy</Compression_Mode>
<StreamSize>9877420</StreamSize>
<Encoded_Library>LAME3.99 </Encoded_Library>
<Encoded_Library_Settings>-m j -V 4 -q 3 -lowpass 20.5</Encoded_Library_Settings>
</track>
<track type="Image">
<Format>JPEG</Format>
<Width>1000</Width>
<Height>1000</Height>
<ColorSpace>YUV</ColorSpace>
<ChromaSubsampling>4:4:4</ChromaSubsampling>
<BitDepth>8</BitDepth>
<Compression_Mode>Lossy</Compression_Mode>
<StreamSize>670046</StreamSize>
</track>
</media>
</MediaInfo>


Cette page a été vue 294 fois