C++ library for reading and writing MP4/M4A/AAC (iTunes), ID3, Vorbis, Opus, FLAC and Matroska tags
Go to file
Martchus 6563a0c854 updated version 2015-10-16 21:47:02 +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 spelling mistakes 2015-10-16 21:46:36 +02:00
matroska improved handling of "SegmentInfo"-element 2015-10-14 19:42:48 +02:00
mp4 fixed reset() methods 2015-10-06 22:39:18 +02:00
mpegaudio fixed some warnings 2015-09-19 23:42:05 +02:00
ogg using CRC tab directly 2015-10-16 21:46:53 +02:00
vorbis fixed includes 2015-09-06 19:57:33 +02:00
wav set format id 2015-09-23 00:03:05 +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 improved handling of "SegmentInfo"-element 2015-10-14 19:42:48 +02:00
abstractattachment.cpp use make_unique 2015-10-06 22:30:05 +02:00
abstractattachment.h added isEmpty() 2015-10-06 22:29:29 +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 improved handling of "SegmentInfo"-element 2015-10-14 19:42:48 +02:00
abstractcontainer.h improved handling of "SegmentInfo"-element 2015-10-14 19:42:48 +02:00
abstracttrack.cpp set extension channel config to stereo if PS is present 2015-09-24 01:15:27 +02:00
abstracttrack.h set extension channel config to stereo if PS is present 2015-09-24 01:15:27 +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 spelling mistakes 2015-10-16 21:46:36 +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 adding meta-information to dll files 2015-09-19 23:47:15 +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 spelling mistakes 2015-10-16 21:46:36 +02:00
mediafileinfo.h fixed spelling mistakes 2015-10-16 21:46:36 +02:00
mediaformat.cpp changed handling of SBR/PS AAC extension 2015-09-24 00:19:04 +02:00
mediaformat.h changed handling of SBR/PS AAC extension 2015-09-24 00:19:04 +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 spelling mistake 2015-09-23 00:02:44 +02:00
positioninset.h First commit 2015-04-22 19:22:01 +02:00
signature.cpp fixed detection of MPEG audio frame header 2015-09-19 22:33:11 +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 updated version 2015-10-16 21:47:02 +02:00
tagtarget.cpp fixed includes 2015-09-06 19:57:33 +02:00
tagtarget.h allow specific targets to be created with createAppropriateTags() 2015-10-13 23:32:00 +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, ...).
  • Do tests with Matroska files which have multiple segments.