====== 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]]
\\