J'ai été bloqué pour ajouter une pochette d'album sur des fichiers mp3.
J'ai déjà recherché et recherché ce problème sur Google, mais je n'ai pas encore trouvé de solution. La documentation ffmpeg
recommande ce script pour ajouter une image (pochette d'album) au mp3:
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
Source: http://www.ffmpeg.org/ffmpeg-all.html#mp
Mais ça ne marche pas. La sortie de ma console est:
Unrecognized option 'c'
Failed to set value 'copy' for option 'c'
J'ai cherché une autre solution et j'ai obtenu ceci: http://trac.ffmpeg.org/ticket/2221 :
ffmpeg -i input.mp3 -i cover.png -map 0:0 -map 1:0 -c copy -id3v2_version 3 -metadata:s:v title="Album cover" -metadata:s:v comment="Cover (Front)" out.mp3
Cela renvoie la même sortie:
Unrecognized option 'c'
Failed to set value 'copy' for option 'c'
Quelqu'un peut-il m'aider, s'il vous plaît?
nb: j'utilise ubuntu 12.04 et ffmpeg version 0.8.6-4: 0.8.6-0.
Merci.
Avec la version récente,
ffmpeg -i in.mp3 -i test.png -map 0:0 -map 1:0 -c copy -id3v2_version 3 -metadata:s:v title="Album cover" -metadata:s:v comment="Cover (front)" out.mp3
Utilisation -map
pour associer le flux d'entrée à la sortie
Utilisation -c copy
pour démultiplexer/remux directement
Le -id3v2_version 3
est ce qui manque dans votre ligne de commande. Notez que cela va écrire un IDV2.3 mais vous pouvez demander un 2.4 (-id3v2_version 4
)
avec le -id3v2_version 3
l'option -metadata
option sera bien interprétée
Remarque: le commentaire des métadonnées est sensible à la casse.
Il y a une chose importante à noter ici, qui m'a fait perdre une heure de travail:
ffmpeg -i in.mp3 -i test.jpeg -map 0:0 -map 1:0 -codec copy -id3v2_version 3 \
-metadata:s:v title="Album cover" -metadata:s:v comment="Cover (front)" out.mp3
f
dans comment="Cover (front)"
doit être en minuscules. Sinon, le type d'image dans l'en-tête ID3 ne sera pas défini!
Un autre indice qui pourrait aider quelqu'un: pour éviter qu'une image de couverture JPEG soit convertie en png, vous devez définir -codec copy
.
le problème est que vous ne définissez pas quel codec vous souhaitez copier. Dans le cas où l'audio devrait être -c:a copy
la pochette est reconnue comme vidéo (allez comprendre !!), donc -c:v copy
ffmpeg -i audio-in.mp3 -i picture.png -c:a copy -c:v copy -map 0:0 -map 1:0 -id3v2_version 3 -metadata:s:v title="Album cover" -metadata:s:v comment="Cover (front)" audio-out.mp3