remeta

Crates.ioremeta
lib.rsremeta
version1.2.0
created_at2025-11-19 20:50:26.009606+00
updated_at2025-11-23 20:09:06.642027+00
descriptionA Rust crate for extracting metadata from various audio, video, and image formats.
homepagehttps://github.com/RoseBlume/Remeta
repositoryhttps://github.com/RoseBlume/Remeta
max_upload_size
id1940771
size3,644,741
James Rose (RoseBlume)

documentation

README

Remeta

This crate provides metadata extraction for audio, video, bitmap, and vector image formats. It supports reading artist/title info, durations, resolutions, and more.


Example Usage

use std::fs::File;
use std::io::Result;
use remeta::{VideoMetadata, ImageMetadata, SongMetadata};

// Audio
let song = SongMetadata::from_file("song.mp3")?;
println!("{:?}", song);

// Video
let video = VideoMetadata::from_file("movie.mp4")?;
println!("{:?}", video);

// Images (bitmap or vector)
let video  = ImageMetadata::from_file("movie.mp4")?;
println!("{:?}", video);

Features

This crate uses optional Cargo features to enable parsing only the formats you need.

Audio

  • flac

  • id3v1

  • id3v2

  • m4a

  • wav

  • flac-duration

  • mp3-duration

  • m4a-duration

  • wav-duration

Video

  • mp4

  • mkv

  • avi

  • mp4-duration

  • mkv-duration

  • avi-duration

Images

Bitmap formats

  • jpg
  • png
  • gif
  • webp
  • ico
  • tiff
  • bmp
  • heif
  • avif

Vector formats

  • svg
  • pdf
  • eps

Cargo Feature Flags

Enable only the formats you need to reduce compile time and binary size. Example:

[dependencies.remeta]
version = "0.1"
features = ["mp3v2", "wav", "jpg", "png", "svg"]

You can also enable all features for convenience:

[dependencies.remeta]
version = "0.1"
features = ["audio-all", "video-all", "images-all", "vector-all"]

Notes

  • Durations are only computed if the corresponding -duration feature is enabled.
  • Vector images may provide only width/height and format; color depth is generally unavailable.
  • HEIF/AVIF detection requires the file to have a valid ISO BMFF container with the correct brand (heic, avif, etc.).
Commit count: 0

cargo fmt