remeta 1.0.1

A Rust crate for extracting metadata from various audio, video, and image formats.
Documentation

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.).