Herramienta de línea de comandos para agregar una imagen de portada a archivos mp3/m4a (Windows 10)

Herramienta de línea de comandos para agregar una imagen de portada a archivos mp3/m4a (Windows 10)

Estoy usando Windows 10 (lo que complica las cosas).

Tengo un montón de archivos de música y una imagen de portada asociada en forma de "x.m4a" y "x.jpg". Me gustaría asociarlos.

Una herramienta de línea de comandos sería ideal, ya que podría ejecutarse fácilmente en un lote. Básicamente, me gustaría usar esto:

@for /R %%F in (*.m4a) do (
    <utility> "%%~F" +cover "%%~npF.jpg"
)

Ni Foobar2000 ni Mp3tag proporcionan una CLI, así que probé con ffmpeg directamente pero convierte automáticamente la imagen en png, lo cual no quiero.

Intenté usar el etiquetador masivo id3 con

id3 -2 -wAPIC "test.jpg" "test.mp3"

Pero volvió con "no se admite la escritura de marcos 'APIC'".

Respuesta1

¿Has probado eyed3?

Puedes instalarlo haciendo:

sudo apt-get install eyed3

Y luego puedes probar:

eyeD3 --add-image "<your picture>.jpg:FRONT_COVER" test.mp3

Como se menciona en las especificaciones, tenga en cuenta:

  --add-image IMG_PATH:TYPE[:DESCRIPTION]
                        Add or replace an image. There may be more than one image in a tag, as long as the DESCRIPTION values are unique. The default
                        DESCRIPTION is ''. If PATH begins with 'http[s]://' then it is interpreted as a URL instead of a file containing image data. The
                        TYPE must be one of the following: OTHER, ICON, OTHER_ICON, FRONT_COVER, BACK_COVER, LEAFLET, MEDIA, LEAD_ARTIST, ARTIST, CONDUCTOR,
                        BAND, COMPOSER, LYRICIST, RECORDING_LOCATION, DURING_RECORDING, DURING_PERFORMANCE, VIDEO, BRIGHT_COLORED_FISH, ILLUSTRATION,
                        BAND_LOGO, PUBLISHER_LOGO.

Más información sobre las especificaciones.aquí.

Respuesta2

Quizás quieras probar kid3-cli, por ejemplo, el siguiente comando copia todas las etiquetas, incluida la imagen de portada, de un mp3 a un m4a (aac):

kid3-cli -c 'select in.mp3' -c copy -c 'select out.m4a' -c paste -c save

Respuesta3

terminé usandoeditor etiquetadoque proporciona una CLI:

@for /R %%F in (*.mp3,*.m4a) do (
    if exist "%%~npF.jpg" (
        tageditor set cover="%%~npF.jpg" -f "%%F"
    )
)

No estoy seguro simid3v2de la suite Mutagen habría funcionado, porque en algún momento corrompí mis archivos de prueba (probando tantas aplicaciones) por lo que podría haber descartado injustamente Mutagen.

información relacionada