Kann FFmpeg mehrere Werte in einem ID3v2.4-Tag lesen?

616
Nicola Hinssen

Obwohl FFmpeg angibt, dass es ID3v2.4-Tags unterstützt, gibt es eine Sache, die ich nicht richtig ausführen kann. Die ID3v2.4-Spezifikationen besagen Folgendes:

In einem Tag darf nur ein Textinformationsrahmen dieser Art vorhanden sein. Alle Textinformations-Frames unterstützen mehrere Zeichenfolgen, die als durch Null getrennte Liste gespeichert werden, wobei Null durch den Beendigungscode für die Zeichenkodierung dargestellt wird.

Wenn ich jedoch FFprobe verwende, wird nur der erste Wert angezeigt. Zum Beispiel zeigt mid3v2 die Tags korrekt. Siehe unten für beide Ausgänge.

mid3v2:

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 

Die Felder TCON (Genre) und TPE1 (Artist) haben mehrere Werte, getrennt durch ein NULL-Zeichen. FFmpeg zeigt nicht mehr als ein Feld.

Übersehe ich etwas oder ist das in FFmpeg / libavformat nicht implementiert?

Danke im Voraus!

2
AFAIK sind dies ID3v2.3-Tags, nicht ID3v1. ID3v1 ist völlig anders. Nicola Hinssen vor 6 Jahren 0
Möglicherweise verwendet der MP3-Demuxer jedoch nicht den v2-Parser, um sie zu sichern. Gyan vor 6 Jahren 0
Schlagen Sie das oben. ffmpeg speichert nur id3v2. Ich werde das später untersuchen. Gyan vor 6 Jahren 0

1 Antwort auf die Frage

0
Gyan

Obwohl ttags in ID3 v2.4 mehrere Zeichenfolgen unterstützen, beendet der ID3v2-Parser die Zeichenfolgenextraktion, wenn er auf NULL trifft, anstatt die gesamte Taglänge zu verbrauchen.

Senden Sie einen Fehlerbericht unter https://trac.ffmpeg.org .

Okay, ein Fehlerbericht wurde eingereicht. https://trac.ffmpeg.org/ticket/6949 Nicola Hinssen vor 6 Jahren 0
Hängen Sie dort eine Beispieldatei an, die ein Text-Tag mit mehreren Zeichenfolgen enthält. Gyan vor 6 Jahren 0
Fertig, Beispieldatei angehängt. Nicola Hinssen vor 6 Jahren 0