Obwohl FFmpeg behauptet, dass es Unterstützung für ID3v2.4-Tags bietet, gibt es eine Sache, die ich nicht richtig zum Laufen bekomme.ID3v2.4-Spezifikationengeben Sie Folgendes an:
In einem Tag darf nur ein Textinformationsrahmen dieser Art vorhanden sein. Alle Textinformationsrahmen unterstützen mehrere Zeichenfolgen, die als durch Nullen getrennte Liste gespeichert werden, wobei Null durch den Abschlusscode für die Zeichenkodierung dargestellt wird.
Wenn ich jedoch FFprobe verwende, wird nur der erste Wert angezeigt. Zum BeispielMitte3v2zeigt die Tags korrekt an. Beide Ausgaben finden Sie unten.
mitte3v2:
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 (Künstler) haben mehrere Werte, getrennt durch ein NULL-Zeichen. FFmpeg zeigt nicht mehr als ein Feld an.
Übersehe ich etwas, oder ist dies in FFmpeg/libavformat einfach nicht implementiert?
Dank im Voraus!
Antwort1
Nein. Obwohl ttags in ID3 v2.4 mehrere Zeichenfolgen unterstützen, bricht der ID3v2-Parser die Zeichenfolgenextraktion ab, wenn er auf NULL stößt, anstatt die volle Tag-Länge zu nutzen.
Senden Sie einen Fehlerbericht anhttps://trac.ffmpeg.org.