Here's an overview of the supported formats for the crate:
Custom Parsers
At some point, I'd really like to build some custom parsers for most types of media. We can use async to our advantage, and also ignore any data that isn't the metadata.
General
General resources are here:
exiv2, an existing parser for Exif, IPTC, and XMP metadata as well as some format-specific information.
- It's difficult to get this to compile for Android as-is. :(
formats on GitHub: mini explainers about some image formats + MP4.
- kinda out of date - no WebP/AVIF/JPEG2000.
media_info crate: a direct mapping to the exif crate, but unifies all data into easy-to-read structs :)
kamadak_exif: parses Exif from TIFF, JPEG, HEIF/HEIC/AVIF, PNG, and WebP.
- It's a well-designed parser! The codebase is easy to read and modify, ignoring the macros.
- Unfortunately, does not accept streams or
AsyncRead.
Here's an overview of the supported formats for the crate:
Custom Parsers
At some point, I'd really like to build some custom parsers for most types of media. We can use
asyncto our advantage, and also ignore any data that isn't the metadata.General
General resources are here:
exiv2, an existing parser for Exif, IPTC, and XMP metadata as well as some format-specific information.formatson GitHub: mini explainers about some image formats + MP4.media_infocrate: a direct mapping to theexifcrate, but unifies all data into easy-to-read structs :)kamadak_exif: parses Exif from TIFF, JPEG, HEIF/HEIC/AVIF, PNG, and WebP.AsyncRead.