FFMPEG: Poner imágenes a archivos de audio
Cuando tenemos muchos archivos de música, sea mp3 o otro formato, queda muy bien poder identificar el tema con el disco al que pertenece. Sin embargo, ésto no lo hacen directamente los programas de ripeo e incluso música comprada en formato digital tampoco tiene los metadatos que necesita.
Tenemos programas específicos para hacer ésto y mucho más, como Tagger, Kid3, EarTag…. pero también podemos hacerlo de manera rápida con la terminal y nuestro gran amigo FFmpeg.
Doy por supuesto que tenemos FFmpeg instalado, así que empezamos.
Tenemos que meter los archivos de audio que queremos “tagear” y la portada del disco o la imagen que queremos dentro de una carpeta para simplificar el proceso.
Una vez hecho, abrimos la terminal dentro de nuestra carpeta y tipeamos el siguiente código, siempre en una sola línea:
for f in ./*.mp3; do \
ffmpeg -i "$f" -i cover.jpg -map 0:0 -map 1:0 -codec copy -id3v2_version 3 -metadata:s:v title="Cover (front)" -metadata:s:v comment="Cover (front)" out-"${f#./}"\
&& mv out-"${f#./}" "$f"; done
Vamos a explicarlo un poco….
- *.mp3 -> Debemos cambiarlo por el formato de nuestra música. En éste caso mp3.
- cover.jpg -> Debemos cambiarlo por nuestra imagen, nombre y extensión.
- Cover (front) -> Opcional para los metadatos
En unos instantes, dependiendo de los archivos, tendréis los archivos con la imagen incrustada en los metadatos y vuestro reproductor la mostrará al reproducirlo.
Sin embargo, quizá queramos quitar la imagen para sustituirla o eliminarla sin más. Con los archivos dentro de una carpeta, tipamos en una terminal:
for f in ./*.mp3; do \
ffmpeg -i "$f" -map 0:a -codec:a copy -map_metadata -1 out-"${f#./}"\
&& mv out-"${f#./}" "$f"; done
Sustituyendo, si fuera el caso, el formato de los archivos. En éste caso están en mp3.
Y nada más. Otro uso de la terminal y FFmpeg.
Fuente: RaúlValadez