J'ai un fichier d'entrée: infile.mp3 Ce fichier contient des métadonnées (artiste, genre, etc.) J'essaie de supprimer toutes les métadonnées du fichier wav en sortie.
Oui! J'ai trouvé l'option:
-map_metadata -1
Mais la sortie est inattendue pour moi ...
$ ffmpeg -i infile.mp3 -acodec pcm_s16le -ac 2 -ar 44100 -map_metadata -1 ./outfile.wav
D'ACCORD!
$ ffprobe outfile.wav
Input #0, wav, from 'inp.wav':
Metadata:
encoder : Lavf56.25.101
Duration: 00:04:00.47, bitrate: 1411 kb/s
Stream #0:0: Audio: pcm_s16le ([1][0][0][0] / 0x0001), 44100 Hz, 2 channels, s16, 1411 kb/s
Tu vois? les métadonnées d'encodeur existent!
Et dans l'entête wav après "subchunk1_id" avec la valeur "fmt", j'attends "subchunk2_id" avec la valeur "data" (exemple attendu: clair):
$ strings outfile.wav | more
RIFFFB
WAVEfmt
data
Mais ce n'est pas (LISTE, INFOISFT, etc.):
$ strings outfile.wav | more
RIFFFB
WAVEfmt
LIST
INFOISFT
Lavf56.25.101
data
Bien .. Comment vraiment supprimer toutes les métadonnées pour le fichier de sortie?
-fflags +bitexact -flags:v +bitexact -flags:a +bitexact
Peut-être copiez-le d'abord dans un fichier .wav (ne supporte pas les métadonnées), puis recopiez-le dans un fichier .mp3?
```
ffmpeg -i in.mp3 tmp.wav
ffmpeg -i tmp.wav out.mp3
```