Aunque FFmpeg afirma que admite etiquetas ID3v2.4, hay una cosa que no puedo hacer funcionar correctamente. ElEspecificaciones ID3v2.4indique lo siguiente:
En una etiqueta sólo puede haber un marco de información de texto de este tipo. Todos los marcos de información de texto admiten múltiples cadenas, almacenadas como una lista separada por nulos, donde nulo está representado por el código de terminación para la codificación de caracteres.
Sin embargo, cuando uso FFprobe, solo muestra el primer valor. Por ejemplomid3v2muestra las etiquetas correctamente. Consulte a continuación ambas salidas.
mediados de 3v2:
mid3v2 --list 01_Infinite_\(Original_Mix\).mp3
IDv2 tag info for 01_Infinite_(Original_Mix).mp3
TALB=Infinite
TBPM=150
TCON=Hardstyle / Test / Example / Hard Dance
TDRC=2017
TIT2=Infinite (Original Mix)
TPE1=B-Front / Second Artist Example
TPE2=B-Front
TPUB=Roughstate
FFmpeg:
ffprobe -hide_banner 01_Infinite_\(Original_Mix\).mp3
Input #0, mp3, from '01_Infinite_(Original_Mix).mp3':
Metadata:
title : Infinite (Original Mix)
artist : B-Front
album : Infinite
date : 2017
genre : Hardstyle
TBPM : 150
album_artist : B-Front
publisher : Roughstate
Los campos TCON (Género) y TPE1 (Artista) tienen múltiples valores, separados por un carácter NULL. FFmpeg no muestra más de un campo.
¿Estoy pasando por alto algo o simplemente no está implementado en el formato FFmpeg/libav?
¡Gracias de antemano!
Respuesta1
No. Aunque las etiquetas en ID3 v2.4 admiten varias cadenas, el analizador ID3v2 finaliza la extracción de cadenas cuando llega a NULL, en lugar de consumir la longitud completa de la etiqueta.
Envíe un informe de error enhttps://trac.ffmpeg.org.