-
Notifications
You must be signed in to change notification settings - Fork 172
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Reading XMP data from MP3 files? #345
Comments
I've never heard of XMP within ID3. Do you have a reference or sample? |
It's documented in the Adobe XMP SDK specs at https://github.com/adobe/XMP-Toolkit-SDK/blob/main/docs/XMPSpecificationPart3.pdf, section 1.2.5 (the Adobe C++ SDK has the ability to read and write it) I've been having a go at doing a minimal set of read code for my purposes (where I could do with some managed reading code for corss platform use rather than juggling C++ code), I may or may not have time to try adding it on over here at some point. |
Thanks, that's really helpful.
If you wanted to add this to the library, I'd happily support any PR to do so. |
A question for the record, in case I get more time to try it - would something that just gets XMP out of ID3v2 tags work, or would it need to be something that reads more extensive data? (I'm sure there'd be scope to extend in the future though) |
Ideally we'd add an understanding of ID3 so that we can correctly pull XMP from within. Otherwise we're reduced to scanning for content that looks like XMP, which can be fraught with bugs. |
At a really basic level, you can walk through the frames in the ID3 tag until you find a PRIV/XMP one, ignoring any others, and then stop if a match is found (or maybe with a bit more validation on the tag length / overall contents etc) - and understanding of more frame types could be added later if needed.
Yes, a problem with the packet scanning approach is that you might have embedded images and such that contain XMP of their own, and it'd more work to deal with that. |
Hi,
Is there presently any means of reading XMP data out of MP3 files with metadata-extractor?
I believe that the XMP data is stored inside the ID3 data, and I see the comment at
metadata-extractor-dotnet/MetadataExtractor/Formats/Mpeg/Mp3Reader.cs
Line 18 in dbc0a56
about reading ID3 data, so maybe it's not presently possible
The text was updated successfully, but these errors were encountered: