C++ library for reading and writing MP4/M4A/AAC (iTunes), ID3, Vorbis, Opus, FLAC and Matroska tags
Go to file
Martchus aa50c2d8b3 fixed includes 2015-09-06 19:57:33 +02:00
aac fixed includes 2015-09-06 19:57:33 +02:00
adts fixed includes 2015-09-06 19:57:33 +02:00
avc fixed includes 2015-09-06 19:57:33 +02:00
avi fixed includes 2015-09-06 19:57:33 +02:00
debug First commit 2015-04-22 19:22:01 +02:00
id3 fixed includes 2015-09-06 19:57:33 +02:00
matroska fixed includes 2015-09-06 19:57:33 +02:00
mp4 fixed includes 2015-09-06 19:57:33 +02:00
mpegaudio fixed includes 2015-09-06 19:57:33 +02:00
ogg fixed includes 2015-09-06 19:57:33 +02:00
vorbis fixed includes 2015-09-06 19:57:33 +02:00
wav fixed includes 2015-09-06 19:57:33 +02:00
.gitignore added .directory, docs/ 2015-07-31 01:26:21 +02:00
LICENSE Initial commit 2015-04-22 19:11:19 +02:00
README.md updated readme 2015-08-26 20:01:32 +02:00
abstractattachment.cpp fixed includes 2015-09-06 19:57:33 +02:00
abstractattachment.h fixed includes 2015-09-06 19:57:33 +02:00
abstractchapter.cpp fixed includes 2015-09-06 19:57:33 +02:00
abstractchapter.h fixed includes 2015-09-06 19:57:33 +02:00
abstractcontainer.cpp fixed includes 2015-09-06 19:57:33 +02:00
abstractcontainer.h fixed includes 2015-09-06 19:57:33 +02:00
abstracttrack.cpp fixed includes 2015-09-06 19:57:33 +02:00
abstracttrack.h fixed includes 2015-09-06 19:57:33 +02:00
backuphelper.cpp fixed includes 2015-09-06 19:57:33 +02:00
backuphelper.h First commit 2015-04-22 19:22:01 +02:00
basicfileinfo.cpp fixed includes 2015-09-06 19:57:33 +02:00
basicfileinfo.h First commit 2015-04-22 19:22:01 +02:00
caseinsensitivecomparer.h fixed includes 2015-09-06 19:57:33 +02:00
exceptions.cpp fixed includes 2015-09-06 19:57:33 +02:00
exceptions.h First commit 2015-04-22 19:22:01 +02:00
fieldbasedtag.h fixed includes 2015-09-06 19:57:33 +02:00
general.pri updated project files 2015-08-26 20:02:01 +02:00
genericcontainer.h fixed includes 2015-09-06 19:57:33 +02:00
genericfileelement.h fixed includes 2015-09-06 19:57:33 +02:00
generictagfield.h fixed includes 2015-09-06 19:57:33 +02:00
localeawarestring.cpp First commit 2015-04-22 19:22:01 +02:00
localeawarestring.h First commit 2015-04-22 19:22:01 +02:00
margin.h First commit 2015-04-22 19:22:01 +02:00
mediafileinfo.cpp fixed includes 2015-09-06 19:57:33 +02:00
mediafileinfo.h fixed includes 2015-09-06 19:57:33 +02:00
mediaformat.cpp fixed includes 2015-09-06 19:57:33 +02:00
mediaformat.h improved detection of media formats in Matroska and MP4 files 2015-07-07 03:01:48 +02:00
nestingsupportingtag.h First commit 2015-04-22 19:22:01 +02:00
notification.cpp fixed includes 2015-09-06 19:57:33 +02:00
notification.h fixed includes 2015-09-06 15:42:18 +02:00
positioninset.h First commit 2015-04-22 19:22:01 +02:00
signature.cpp fixed includes 2015-09-06 19:57:33 +02:00
signature.h fixed includes 2015-09-06 19:57:33 +02:00
size.h fixed includes 2015-09-06 15:42:18 +02:00
statusprovider.cpp fixed includes 2015-09-06 19:57:33 +02:00
statusprovider.h fixed includes 2015-09-06 19:57:33 +02:00
tag.cpp fixed includes 2015-09-06 19:57:33 +02:00
tag.h fixed includes 2015-09-06 19:57:33 +02:00
tagparser.doxygen First commit 2015-04-22 19:22:01 +02:00
tagparser.pro fixed includes 2015-09-06 19:57:33 +02:00
tagtarget.cpp fixed includes 2015-09-06 19:57:33 +02:00
tagtarget.h First commit 2015-04-22 19:22:01 +02:00
tagvalue.cpp fixed includes 2015-09-06 19:57:33 +02:00
tagvalue.h fixed includes 2015-09-06 19:57:33 +02:00

README.md

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, ...).