
MP3-ID3-Tag Teil 2

ID3v1

Das Audioformat MPEG Layer I, Layer II und Layer III (MP3) hat keine native Möglichkeit, Inhaltsinformationen zu bewahren, mit Ausnahme einiger einfacher Ja/Nein-Parameter wie „privat“, „urheberrechtlich geschützt“ und „Familie“. (was bedeutet, dass dies das Originaldokument und keine Kopie ist). Eine Lösung für dieses Problem wurde 1996 von Eric Kemp vorgestellt. Indem Sie am Ende der Datei ein kleines Stück zusätzlicher Daten hinzufügen, können Sie MP3-Dateien dazu bringen, Informationen über das Audio und nicht nur das Audio selbst zu enthalten.
Die Position des Tags, wie die Daten es nennen, kann darauf zurückzuführen sein, dass es kaum eine Chance hat, den Decoder zu stören. Um die Erkennung zu erleichtern, wurde eine feste Größe von 128 Bytes gewählt. Das Etikett hat folgenden Aufbau (im Schema rechts dargestellt):
Feldlänge Inhalt
ID3v1-Tag 3 TAG
Titel 30 Songname
Künstler 30 Künstler
Album 30 Albumname
Jahr 4 Jahr
Kommentar 30 Kommentar
Genre 1 Song-Genre-Identifikator
ID3v2
Tags das vollständige Tag, das in diesem Dokument beschrieben wird.
tagEnthält Tag-Header, Tag-Text (1 oder n Frames), optionales Padding.
Die Bitreihenfolge in ID3v2 ist Most Significant Bit First (MSB).
Die Byte-Reihenfolge in Multibyte-Zahlen ist das höchstwertige Byte zuerst (z. B. würde 0x12345678 als 0x12 34 56 78 codiert), auch bekannt als Big-Endian-Speicher.
ID3v2.3.0
Beschriftungskopf
ID3v2-Header
Feldlänge Inhalt
ID3v2/Dateikennung 3 ID3
Version ID3v2 2 03 00 (hexadezimal)
ID3v2-Flags 1 abc00000 (binär)
ID3v2 Größe 4 4 * 0xxxxxxx (binär)
1,ID3v2/Dateikennung
Die ersten drei Bytes sind immer ID3, was darauf hinweist, dass es sich um ein ID3v2-Tag handelt, gefolgt von zwei Versionsbytes.
2, ID3v2-Version
ID3v2-Version
Das erste Byte ist Ihre Hauptversion, während das zweite Byte Ihre Revisionsnummer ist. In diesem Fall ist es ID3v2.3.0. Alle Revisionen sind abwärtskompatibel, Hauptversionen jedoch nicht. Wenn Software, die mit ID3v2.2.0 und niedriger kompatibel ist, auf Version 3 oder höher trifft, sollte sie einfach das gesamte Tag ignorieren. Versionen und Revisionen sind niemals 0xFF.
3.ID3v2-Flags
ID3v2-Version Gefolgt von einem ID3v2-Flag, derzeit werden nur 3 Flags verwendet:
Unsynchronisierung
ID3v2-Flags Das siebte Bit in a- gibt an, ob eine Unsynchronisierung verwendet wird.
erweiterte Kopfzeile
ID3v2-Flags Das sechste Bit in b- zeigt den Header an, wenn erweiterte Header-Follower vorhanden sind.
Experimenteller Indikator
ID3v2-Flags
Das fünfte Bit in c- sollte als “experimentelles Flag” verwendet werden.
Alle anderen Flags müssen gelöscht werden. Wenn eines dieser undefined Flags gesetzt ist, kann dies bedeuten, dass ein Parser, der die Funktion nicht kennt, die Funktion nicht lesen kann.


