Embora o FFmpeg afirme que tem suporte para tags ID3v2.4, há uma coisa que não consigo fazer funcionar corretamente. OEspecificações ID3v2.4indique o seguinte:
Só pode haver um quadro de informações de texto desse tipo em uma tag. Todos os quadros de informações de texto suportam múltiplas cadeias de caracteres, armazenadas como uma lista separada por nulos, onde nulo é representado pelo código de terminação da codificação de caracteres.
Porém, quando uso o FFprobe, ele mostra apenas o primeiro valor. Por exemplomid3v2mostra as tags corretamente. Veja abaixo ambas as saídas.
meio3v2:
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
Os campos TCON (Gênero) e TPE1 (Artista) possuem múltiplos valores, separados por um caractere NULL. O FFmpeg não mostra mais de um campo.
Estou negligenciando alguma coisa ou isso simplesmente não está implementado no FFmpeg/libavformat?
Desde já, obrigado!
Responder1
Não. Embora os ttags no ID3 v2.4 suportem múltiplas strings, o analisador ID3v2 encerra a extração de string quando atinge NULL, em vez de consumir o comprimento total da tag.
Envie um relatório de bug emhttps://trac.ffmpeg.org.