FFmpeg 是否能够读取 ID3v2.4 标签中的多个值?

FFmpeg 是否能够读取 ID3v2.4 标签中的多个值?

尽管 FFmpeg 声称它支持 ID3v2.4 标签,但有一件事我无法正常工作。ID3v2.4 规格陈述如下:

一个标签中只能有一个同类型的文本信息框。所有文本信息框都支持多个字符串,以空值分隔的列表形式存储,其中空值表示字符编码的终止代码。

但是,当我使用 FFprobe 时,它​​只显示第一个值。例如中期3v2正确显示标签。请参阅下面的两个输出。

中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

TCON(流派)和 TPE1(艺术家)字段有多个值,以 NULL 字符分隔。FFmpeg 不会显示多个字段。

是我忽略了什么吗,还是这只是没有在 FFmpeg/libavformat 中实现?

提前致谢!

答案1

不可以。虽然 ID3 v2.4 中的 ttags 支持多个字符串,但是当它遇到 NULL 时,ID3v2 解析器会终止字符串提取,而不是消耗完整的标签长度​​。

提交错误报告至https://trac.ffmpeg.org

相关内容