C++ library for reading and writing MP4/M4A/AAC (iTunes), ID3, Vorbis, Opus, FLAC and Matroska tags
Go to file
Martchus b1eb6faba6 fixed includes 2015-09-06 15:42:18 +02:00
adts fixed includes 2015-09-06 15:42:18 +02:00
avc fixed includes 2015-09-06 15:42:18 +02:00
avi improved format detection 2015-06-12 02:35:50 +02:00
debug First commit 2015-04-22 19:22:01 +02:00
id3 fixed includes 2015-09-06 15:42:18 +02:00
matroska fixed includes 2015-09-06 15:42:18 +02:00
mp4 fixed includes 2015-09-06 15:42:18 +02:00
mpegaudio fixed includes 2015-09-06 15:42:18 +02:00
ogg fixed includes 2015-09-06 15:42:18 +02:00
vorbis fixed includes 2015-09-06 15:42:18 +02:00
wav fixed includes 2015-09-06 15:42:18 +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 First commit 2015-04-22 19:22:01 +02:00
abstractattachment.h First commit 2015-04-22 19:22:01 +02:00
abstractchapter.cpp First commit 2015-04-22 19:22:01 +02:00
abstractchapter.h First commit 2015-04-22 19:22:01 +02:00
abstractcontainer.cpp First commit 2015-04-22 19:22:01 +02:00
abstractcontainer.h First commit 2015-04-22 19:22:01 +02:00
abstracttrack.cpp fixed includes 2015-09-06 15:42:18 +02:00
abstracttrack.h parse audio specific config for AAC tracks in MKV container (exposed API 2015-08-13 03:23:28 +02:00
backuphelper.cpp First commit 2015-04-22 19:22:01 +02:00
backuphelper.h First commit 2015-04-22 19:22:01 +02:00
basicfileinfo.cpp First commit 2015-04-22 19:22:01 +02:00
basicfileinfo.h First commit 2015-04-22 19:22:01 +02:00
exceptions.cpp First commit 2015-04-22 19:22:01 +02:00
exceptions.h First commit 2015-04-22 19:22:01 +02:00
fieldbasedtag.h fixed includes 2015-09-06 15:42:18 +02:00
general.pri updated project files 2015-08-26 20:02:01 +02:00
genericcontainer.h First commit 2015-04-22 19:22:01 +02:00
genericfileelement.h improved format detection for MP4 tracks 2015-07-13 00:57:38 +02:00
generictagfield.h fixed includes 2015-09-06 15:42:18 +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 15:42:18 +02:00
mediafileinfo.h fixed includes 2015-09-06 15:42:18 +02:00
mediaformat.cpp improved format detection for MP4 tracks 2015-07-13 00:57:38 +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 First commit 2015-04-22 19:22:01 +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 added detection of ADTS files 2015-07-15 00:11:09 +02:00
signature.h added detection of ADTS files 2015-07-15 00:11:09 +02:00
size.h fixed includes 2015-09-06 15:42:18 +02:00
statusprovider.cpp First commit 2015-04-22 19:22:01 +02:00
statusprovider.h First commit 2015-04-22 19:22:01 +02:00
tag.cpp updated readme 2015-08-26 20:01:32 +02:00
tag.h fixed includes 2015-09-06 15:42:18 +02:00
tagparser.doxygen First commit 2015-04-22 19:22:01 +02:00
tagparser.pro fixed includes 2015-09-06 15:42:18 +02:00
tagtarget.cpp First commit 2015-04-22 19:22:01 +02:00
tagtarget.h First commit 2015-04-22 19:22:01 +02:00
tagvalue.cpp fixed includes 2015-09-06 15:42:18 +02:00
tagvalue.h fixed includes 2015-09-06 15:42:18 +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, ...).