FFmpeg は ID3v2.4 タグ内の複数の値を読み取ることができますか?

FFmpeg は ID3v2.4 タグ内の複数の値を読み取ることができますか?

FFmpegはID3v2.4タグをサポートしていると記載されていますが、うまく動作しない点が1つあります。ID3v2.4仕様次のことを述べます。

タグ内には、その種類のテキスト情報フレームが 1 つだけ存在できます。すべてのテキスト情報フレームは、null で区切られたリストとして保存される複数の文字列をサポートします。null は、文字エンコードの終了コードで表されます。

しかし、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 のタグは複数の文字列をサポートしていますが、ID3v2 パーサーはタグの全長を消費するのではなく、NULL に達すると文字列の抽出を終了します。

バグレポートは以下まで送信してくださいhttps://trac.ffmpeg.org

関連情報