C++ library for reading and writing MP4/M4A/AAC (iTunes), ID3, Vorbis, Opus, FLAC and Matroska tags
adts | ||
avc | ||
avi | ||
debug | ||
id3 | ||
matroska | ||
mp4 | ||
mpegaudio | ||
ogg | ||
vorbis | ||
wav | ||
.gitignore | ||
abstractattachment.cpp | ||
abstractattachment.h | ||
abstractchapter.cpp | ||
abstractchapter.h | ||
abstractcontainer.cpp | ||
abstractcontainer.h | ||
abstracttrack.cpp | ||
abstracttrack.h | ||
backuphelper.cpp | ||
backuphelper.h | ||
basicfileinfo.cpp | ||
basicfileinfo.h | ||
exceptions.cpp | ||
exceptions.h | ||
fieldbasedtag.h | ||
general.pri | ||
genericcontainer.h | ||
genericfileelement.h | ||
generictagfield.h | ||
LICENSE | ||
localeawarestring.cpp | ||
localeawarestring.h | ||
margin.h | ||
mediafileinfo.cpp | ||
mediafileinfo.h | ||
mediaformat.cpp | ||
mediaformat.h | ||
nestingsupportingtag.h | ||
notification.cpp | ||
notification.h | ||
positioninset.h | ||
README.md | ||
signature.cpp | ||
signature.h | ||
size.h | ||
statusprovider.cpp | ||
statusprovider.h | ||
tag.cpp | ||
tag.h | ||
tagparser.doxygen | ||
tagparser.pro | ||
tagtarget.cpp | ||
tagtarget.h | ||
tagvalue.cpp | ||
tagvalue.h |
Tag Parser
C++ library for reading and writing MP4 (iTunes), ID3, Vorbis and Matroska tags.
Supported formats
The tag library can read and write the following tag formats:
- iTunes-style MP4 tags (MP4-DASH is supported)
- ID3v1 and ID3v2 tags
- Vorbis comments (cover art via "METADATA_BLOCK_PICTURE" is supported)
- Matroska/WebM tags and attachments
The library can also display technical information such as the ID, format, language, bitrate, duration, size, timestamps, sampling frequency, FPS and other information of the tracks.
It also allows to inspect and validate the element structure of MP4 and Matroska files.
For examples check out the CLI interface of my Tag Editor (which is also on Git).
Build instructions
The tagparser library depends on c++utilities and is built in the same way. It also depends on zlib.
TODO
- Use padding to prevent rewriting the entire file to save tags.
- Support more tag formats (EXIF, PDF metadata, ...).