====== ffmpeg : gestion des metadata dans un MP3 ====== {{tag>"Linux commande"}} Utilisation du programme **ffmpeg** pour manipuler les metadata des fichiers MP3. Cela impactera directement les TAG des mp3 et les informations présentes dans iTunes et autres bibliothèques multimédia. ===== Créer un fichier metadata ===== Exemple de fichier **metadata.txt** : ;FFMETADATA1 title=bike\\shed ;this is a comment artist=FFmpeg troll team [CHAPTER] TIMEBASE=1/1000 START=0 #chapter ends at 0:01:00 END=60000 title=chapter \#1 [STREAM] title=multi\ line Autre exemple : ;FFMETADATA1 title=NRJ MEGAMIX 10.06.1990 [B!] \#mcXtra artist=NRJ album_artist=Cédric album=mindCast XTRA encoded_by=Cédric / JSide_fr genre=Musique comment=Mettez les ringards au placard, c'est Megamix qui redémarre. Dimitrouille le roi de la bidouille pour un panaché très estival du meilleur de la dance musique de l'année 90. C'est Megamix du 10 juin 1990\ \ 00:06 [JINGLE] Top horaire Megamix\ 00:35 [SPEAK] Dimitri\ 01:19 Art Of Noise - Art Of Love\ 07:15 Diana Brown & Barrie K Sharpe - The Masterplan (Extended Version)\ 11:47 Dimitri - Summer Vibes\ 16:48 Digital Underground - Freaks Of The Industry\ 20:50 Barry White - I Wanna Do It Good To Ya\ 25:14The Chimes - Stronger Together (Red Zone Mix)\ 30:52 Blaze - So Special (So So Mix)\ 33:58 The Rock Posse Featuring Fonda Rae - Do You Want My Love? (Smooth R&B Mix)\ 37:58 Satoshi Tomiie Featuring Arnold Jarvis - And I Loved You (12" Red Zone Vocal Mix)\ 47:07 New Order - World In Motion (Remix)\ 48:44 Prince - The Future (Remix)\ 52:17 [SPEAK] Dimitri\ 53:12 [JINGLE] Fin\ \ + d'infos sur http://house-revival.blogspot.com/p/nrj-club-nrj-megamix.html\ Remasterisé par Cédric @jside_fr. copyright=NRJ date=2019 encoder=Lavf58.20.100 ===== Liste des metadata possibles ===== ^Windows^iTunes (Info tab)^id3v2.3^id3v2.4^ffmpeg key^ffmpeg example| |Title|Title|TIT2|title|-metadata title=”Adagio for Strings”| |Subtitle|Description \\ (Video tab)|TIT3|TIT3|-metadata TIT3=”Op. 91″| |Comments|Comments|COMM||not implemented| |Contributing artists|Artist|TPE1|artist|-metadata artist=”Yo Yo Ma/London Symphony”| |Album artist|Album Artist|TPE2|album_artist|-metadata album_artist=”London Symphony”| |Album|Album|TALB|album|-metadata album=”String Classics”| |Year|Year|TYER|date|-metadata date=”2012″| |#|Track Number|TRCK|track|-metadata track=”3/12″ \\ (means track number 3 of 12)| |Genre|Genre|TCON|genre|-metadata genre=”Classical”| |Publisher||TPUB|publisher|-metadata publisher=”London Publishing”| |Encoded by||TENC|encoded_by|-metadata encoded_by=”Telarc”| |Author URL||WOAR||not implemented| |Copyright \\ (Not Editable)||TCOP|copyright|-metadata copyright=”℗ Telarc”| |Composers||TCOM|composer|-metadata composer=”J.S. Bach”| |Conductors||TPE3|performer|-metadata performer=”T. S. Miles”| |Group description|Grouping|TIT1|TIT1|-metadata TIT1=”The Classics”| |Part of set|Disc Number|TPOS|disc|-metadata disc=”1/2″ \\ (means disc number 1 of 2)| |Initial key||TKEY|TKEY|-metadata TKEY=”G”| |Beats-per-minute|BPM|TBPM|TBPM|-metadata TBPM=”120″| |Part of a compilation|Part of a compilation|TCMP|compilation|not implemented| | ||TLAN|language|-metadata language=”eng”| | ||TSSE|encoder|-metadata encoder=”iTunes v10″| | |||lyrics|voir http://id3.org/Lyrics3v2 | | |||creation_time|-metadata creation_time="2013-05-02 22:01:04″| | |||album-sort|-metadata album-sort="String Classics″| | |||artist-sort|-metadata artist-sort="London Symphony″| | |||title-sort|-metadata title-sort="Adagio for Strings″| Fichier **metadata.txt** vide basé sur toutes les metadata possibles gérées par **ffmpeg** : ;FFMETADATA1 title= title-sort= TIT3= artist= artist-sort= album= album-sort= album_artist= date= track= genre= publisher= encoded_by= copyright= composer= performer= TIT1= disc= TKEY=TBPM= language= encoder= compilation= lyrics= creation_time= ===== Liste des genres ===== La liste des genres est définie par la norme ID3. Elle est arrêtée depuis la version ID3v1 0.Blues 1.Classic Rock 2.Country 3.Dance 4.Disco 5.Funk 6.Grunge 7.Hip-Hop 8.Jazz 9.Metal 10.New Age 11.Oldies 12.Other 13.Pop 14.R&B 15.Rap 16.Reggae 17.Rock 18.Techno 19.Industrial 20.Alternative 21.Ska 22.Death Metal 23.Pranks 24.Soundtrack 25.Euro-Techno 26.Ambient 27.Trip-Hop 28.Vocal 29.Jazz+Funk 30.Fusion 31.Trance 32.Classical 33.Instrumental 34.Acid 35.House 36.Game 37.Sound Clip 38.Gospel 39.Noise 40.AlternRock 41.Bass 42.Soul 43.Punk 44.Space 45.Meditative 46.Instrumental Pop 47.Instrumental Rock 48.Ethnic 49.Gothic 50.Darkwave 51.Techno-Industrial 52.Electronic 53.Pop-Folk 54.Eurodance 55.Dream 56.Southern Rock 57.Comedy 58.Cult 59.Gangsta 60.Top 40 61.Christian Rap 62.Pop/Funk 63.Jungle 64.Native American 65.Cabaret 66.New Wave 67.Psychedelic 68.Rave 69.Showtunes 70.Trailer 71.Lo-Fi 72.Tribal 73.Acid Punk 74.Acid Jazz 75.Polka 76.Retro 77.Musical 78.Rock & Roll 79.Hard Rock Sources : http://id3.org/id3v2.4.0-frames ===== Ajouter des metadata ===== Ajouter les tag définis dans le fichier **metadata.txt** : ffmpeg -i in.mp3 -i metadata.txt -map_metadata 1 -c:a copy -id3v2_version 3 out.mp3 Pour Windows, ne pas oublier d'ajouter les options suivantes : - id3v2_version 3 - write_id3v1 1 ffmpeg -i in.mp3 -i metadata.txt -map_metadata 1 -c:a copy -id3v2_version 3 -write_id3v1 1 out.mp3 ---- Ajouter des tag dans la ligne de commande avec une **image** : ffmpeg -i input.mp3 -i cover.png -c copy -map 0 -map 1 -metadata:s:v title="Album cover" -metadata:s:v comment="Cover (Front)" out.mp3 ---- Ajouter les tag définis dans le fichier **metadata.txt** avec une **image** : ffmpeg -i input.mp3 -i cover.png -c copy -map 0 -i metadata.txt -map_metadata 1 -c:a copy -id3v2_version 3 -write_id3v1 1 out.mp3 ===== Supprimer ===== Par exemple, pour supprimer le tag informant le nom de l'artiste : ffmpeg -i out.mp3 -metadata title="The Title You Want" -metadata artist="" -metadata album="Name of the Album" out2.mp3 ---- Supprimer toutes les metadata : ffmpeg -i input.mp3 -write_xing 0 -id3v2_version 0 out.mp3 ===== Extraire les metadata ===== Extraire les metadatas d'un fichier MP3 : ffmpeg -i in.mp3 -f ffmetadata metadata.txt Le résultat est écrit dans le fichier **metadata.txt** ---- Extraire les metadatas de tous les fichiers MP3 présents dans le dossier courant : for f in *.mp3 ; do ffmpeg -i "$f" -f ffmetadata "${f%.*}.txt" ; done Le résultat est écrit dans le fichier de même nom que le MP3 avec l'extension **txt** au lieu de **mp3** ===== Informations sur ce document ===== Document rédigé par [[user:cedricabonnel]] le 27/10/2019 à 09:31.\\ Modifié le 27/10/2019 à 11:30. Librement inspiré des pages suivantes : * [[http://jonhall.info/create_id3_tags_using_ffmpeg/|http://jonhall.info/create_id3_tags_using_ffmpeg/]] * [[https://ffmpeg.org/ffmpeg-all.html#mp3|https://ffmpeg.org/ffmpeg-all.html#mp3]] \\