motioncam-decoder 0.1.0

Pure-Rust decoder for MotionCam RAW files
Documentation

motioncam-decoder

Pure-Rust decoder for MotionCam MCRAW files.

This is a Rust port of the motioncam-decoder C++ library.

Features

  • Decodes MCRAW container format (version 3)
  • Supports both compression type 7 (new) and compression type 6 (legacy) raw frames
  • Audio extraction
  • Parallel frame decoding (optional, enabled by default via rayon)
  • Memory-mapped file I/O for efficient access

Usage

use motioncam_decoder::Decoder;

let mut decoder = Decoder::from_path("video.mcraw")?;

// Read container metadata
let container_meta = decoder.container_metadata();

// Get frame timestamps
let timestamps: Vec<i64> = decoder.frame_timestamps().collect();

// Load a single frame
let (pixels, metadata) = decoder.load_frame(timestamps[0])?;

// Load all frames in parallel
let frames = decoder.load_all_frames_parallel()?;

// Load audio
let audio_chunks = decoder.load_audio()?;

Building

cargo build --release

Documentation

cargo doc --no-deps --open

License

Apache 2.0