¿Cómo agregar la carátula del álbum con ffmpeg?
albumart (3)
Me he quedado atascado para agregar la carátula del álbum en archivos mp3.
Ya he investigado y buscado en Google este problema, pero todavía no he encontrado una solución. La documentación de ffmpeg
recomienda esta secuencia de comandos para agregar imágenes (carátulas) a 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
Fuente de: http://www.ffmpeg.org/ffmpeg-all.html#mp3
Pero no funciona. La salida de mi consola es:
Unrecognized option ''c''
Failed to set value ''copy'' for option ''c''
Busqué otra solución y obtuve esto: 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
Esto devuelve el mismo resultado:
Unrecognized option ''c''
Failed to set value ''copy'' for option ''c''
¿Alguien puede ayudarme por favor?
nb: uso ubuntu 12.04 y ffmpeg versión 0.8.6-4: 0.8.6-0.
Gracias.
Con la versión reciente,
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
Use -map
para asociar el flujo de entrada a la salida
Use -c copy
para demux / remux directamente
El -id3v2_version 3
es lo que falta en su línea de comando. Tenga en cuenta que eso escribirá un IDV2.3 pero puede solicitar un 2.4 ( -id3v2_version 4
)
con la opción -id3v2_version 3
opción -metadata
será bien interpretada
Nota: el comentario de metadatos distingue entre mayúsculas y minúsculas.
El problema es que no está definiendo qué códec desea copiar. En caso de que el audio sea -c:a copy
la portada se reconoce como video (¡imagínate!), Así que -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
Hay una cosa importante que notar aquí, que me hizo perder una hora de trabajo:
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
La f
en comment="Cover (front)"
debe estar en minúsculas. Si no, el tipo de imagen en el encabezado ID3 no se configurará!
Otra sugerencia que podría ayudar a alguien: para evitar que una imagen de portada JPEG se convierta a png, debe configurar la -codec copy
.