¿Por qué ffmeg no escribe etiquetas id3?

¿Por qué ffmeg no escribe etiquetas id3?

Actualmente uso el siguiente comando para canalizar una cantidad de .oggarchivos a travésffmpeg

for x in *.ogg; do ffmpeg -i "$x" -ab 320k -write_id3v2 1 "`basename "$x" .ogg`.mp3"; done

Funciona e imprime la siguiente información.

Output #0, mp3, to '10 Ft. Ganja Plant_Bass Chalice_10_Bass Chalice.mp3':
  Metadata:
    TSSE            : Lavf57.83.100
    Stream #0:0: Audio: mp3 (libmp3lame), 44100 Hz, stereo, fltp, 320 kb/s
    Metadata:
      TITLE           : Bass Chalice
      ARTIST          : 10 Ft. Ganja Plant
      GENRE           : Reggae
      DATE            : 2005
      ALBUM           : Bass Chalice
      track           : 10
      encoder         : Lavc57.107.100 libmp3lame

Pero cuando cargo los archivos en iTunes, las etiquetas id3 no están ahí.

Intenté usarlo con y sin la -write_id3v2 1opción pero todavía no funciona.

¿Qué estoy haciendo mal?

Respuesta1

En su entrada, los metadatos no se almacenan a nivel de archivo/contenedor (metadatos oggparece un poco desordenado), pero a nivel de flujo, dentro del primer flujo (comocomentario de Vorbis).

En su formato de salida, los metadatos MP3 (etiquetas ID3) sonnuncapor secuencia pero solo por archivo. Aunque ffmpeg muestra todos los metadatos que ha copiado para la transmisión de audio, no puede almacenar ninguno de ellos en un archivo MP3. (Observe cómo uno lo enmarcahacestore, TSSEse muestra a nivel de archivo.)

Utilice -map_metadata 0:s:0para traducir correctamente el diseño Ogg/Vorbis a MP3. Como se ve en elpagina del manual:

   -map_metadata[:metadata_spec_out] infile[:metadata_spec_in]
   (output,per-metadata)

       [...]

       For example to copy metadata from the first stream of the input file to
       global metadata of the output file:

               ffmpeg -i in.ogg -map_metadata 0:s:0 out.mp3

       To do the reverse, i.e. copy global metadata to all audio streams:

               ffmpeg -i in.mkv -map_metadata:s:a 0:g out.mkv

(Tenga en cuenta que los campos no reconocidos por ffmpeg se asignarán a TXXXmarcos ID3, que iTunes probablemente no mostrará en absoluto, aunque foobar2000 sí podría hacerlo).

información relacionada