ID3v2: Difference between revisions

From Hydrogenaudio Knowledgebase
(d3v2.4.0-structure.txt, Copyright, ID3v2Easy links corrected)
m (Updated See also/External links)
 
(2 intermediate revisions by one other user not shown)
Line 1: Line 1:
[[Image:id3v2_blocks.png|frame|right|Example ID3v2 Tag]]
[[Image:id3v2_blocks.png|thumb|Example ID3v2 Tag, image copyright © [https://id3.org/Copyright Martin Nilsson]]]
'''ID3v2''' is a tagging format for MP3 files, designed to provide a much greater deal of functionality and flexibility over its predecessor, [[ID3v1]]. ID3v2 allows for a much greater amount of metadata to be embedded within MP3 files over [[ID3v1]], allowing each frame (metadata field) to contain practically any conceivable type of information, including title, album, performer, lyrics, equalizer presets, album art and other images, and much, much more.
'''ID3v2''' is a tagging format for MP3 files, designed to provide a much greater deal of functionality and flexibility over its predecessor, [[ID3v1]]. ID3v2 allows for a much greater amount of [[metadata]] to be embedded within MP3 files over ID3v1, allowing each frame (metadata field) to contain practically any conceivable type of information, including title, album, performer, lyrics, equalizer presets, album art and other images, and much, much more.


One of the design goals of ID3v2 was flexibility and extensibility. To acheive this, the ID3v2 format was modelled as a container format, allowing the creation of new frames within ID3v2 tags without worrying whether they will break other programs, as all ID3v2 parsers will simply ignore any frames they don't recognize.
One of the design goals of ID3v2 was flexibility and extensibility. To acheive this, the ID3v2 format was modelled as a container format, allowing the creation of new frames within ID3v2 tags without worrying whether they will break other programs, as all ID3v2 parsers will simply ignore any frames they don't recognize.
Line 11: Line 11:
ID3v2-tagged files are also generally safe to be played on players that weren't designed to support them. They are sync-safe, allowing MPEG audio decoders to determine the tags contain no audio data and can be safely skipped.
ID3v2-tagged files are also generally safe to be played on players that weren't designed to support them. They are sync-safe, allowing MPEG audio decoders to determine the tags contain no audio data and can be safely skipped.


Even though ID3v2 is designed to support a lot of space-heavy features, such as inline pictures and file inclusion, ironically, ID3v2 still tries to use bytes as efficiently as possible, and allows for compression of each frame. If you convert an [[ID3v1]] tag to an ID3v2 tag, it is likely that the ID3v2 tag will be smaller. If you convert an [[ID3v1]] tag with full fields (that is, all 30 bytes are used in every field) to an ID3v2 tag, it will be 56 bytes larger. Note that this is the worst case scenario with regards to tag size for [[ID3v1]] to ID3v2 conversion.
Even though ID3v2 is designed to support a lot of space-heavy features, such as inline pictures and file inclusion, ironically, ID3v2 still tries to use bytes as efficiently as possible, and allows for compression of each frame. If you convert an ID3v1 tag to an ID3v2 tag, it is likely that the ID3v2 tag will be smaller. If you convert an ID3v1 tag with full fields (that is, all 30 bytes are used in every field) to an ID3v2 tag, it will be 56 bytes larger. Note that this is the worst case scenario with regards to tag size for ID3v1 to ID3v2 conversion.


==Additional Reading==
==See also==
* [[ID3v1]]
* [[ID3v1]]
* [[ID3v1.1]]
* [[ID3v1.1]]
* [http://id3.org/id3v2.4.0-structure?highlight=(d3v2.4.0-structure.txt) ID3v2.4.0 Informal Standard]


==External links==
* [https://id3.org/ID3v2Easy What is ID3v2?]


==Copyright==
===Standards===
The image is copyrighted by [http://id3.org/Copyright Martin Nilsson], taken from [http://id3.org/ID3v2Easy ID3v2 made easy].
* [https://id3.org/id3v2-00 ID3v2.2.0 Informal Standard]
* [https://id3.org/id3v2.3.0 ID3v2.3.0 Informal Standard]
* [https://id3.org/id3v2.4.0-structure ID3v2.4.0 Informal Standard]


[[Category:Metadata]]
[[Category:Metadata]]
[[Category:MP3]]
[[Category:MP3]]
[[Category:Technical]]
[[Category:Technical]]

Latest revision as of 09:11, 11 June 2022

Example ID3v2 Tag, image copyright © Martin Nilsson

ID3v2 is a tagging format for MP3 files, designed to provide a much greater deal of functionality and flexibility over its predecessor, ID3v1. ID3v2 allows for a much greater amount of metadata to be embedded within MP3 files over ID3v1, allowing each frame (metadata field) to contain practically any conceivable type of information, including title, album, performer, lyrics, equalizer presets, album art and other images, and much, much more.

One of the design goals of ID3v2 was flexibility and extensibility. To acheive this, the ID3v2 format was modelled as a container format, allowing the creation of new frames within ID3v2 tags without worrying whether they will break other programs, as all ID3v2 parsers will simply ignore any frames they don't recognize. Each frame can be as large as 16MB, and the entire tag can be as large as 256MB, so there are practically no space constraints when writing ID3v2 tags.

Also, ID3v2 supports Unicode as standard, allowing metadata to be created in any language.

ID3v2 tags are generally added to the beginning of MP3 files, allowing audio players to display tag metadata before the end of the file is read (useful for streaming MP3 files). However, as of ID3v2.4, they can be appended to the end as well, meaning that a change in length in any ID3 frame will not necessarily provoke a rewrite of the entire file.

ID3v2-tagged files are also generally safe to be played on players that weren't designed to support them. They are sync-safe, allowing MPEG audio decoders to determine the tags contain no audio data and can be safely skipped.

Even though ID3v2 is designed to support a lot of space-heavy features, such as inline pictures and file inclusion, ironically, ID3v2 still tries to use bytes as efficiently as possible, and allows for compression of each frame. If you convert an ID3v1 tag to an ID3v2 tag, it is likely that the ID3v2 tag will be smaller. If you convert an ID3v1 tag with full fields (that is, all 30 bytes are used in every field) to an ID3v2 tag, it will be 56 bytes larger. Note that this is the worst case scenario with regards to tag size for ID3v1 to ID3v2 conversion.

See also

External links

Standards