rskit-media 0.2.0-alpha.3

Media types, codec/format registry, pipeline builder, and processing traits
Documentation

rskit-media — Media Processing Types

Media types, codec/format registry, pipeline builder, and processing traits.

CI crates.io docs.rs License: MIT MSRV: 1.91

Features

  • MediaPipeline — lazy, chainable pipeline builder (extract, resize, crop, rotate, volume, speed, transcode, …)
  • MediaExecutor / MediaProbe traits — backends implement these (see rskit-media-ffmpeg, rskit-media-image)
  • Rich type vocabulary: Codec, Format, Resolution, TimeRange, OutputConfig, Filter
  • Registry — codec/format compatibility checking
  • Progress reporting with position, percentage, speed, and ETA
  • Subtitle support: SubtitleTrack, SubtitleEntry

Usage

[dependencies]
rskit-media = "0.2.0-alpha.3"
use rskit_media::{MediaPipeline, spatial::Resolution, time::TimeRange, MediaOp};
use rskit_storage::FileSource;

let source = FileSource::from_path("input.mp4");
let pipeline = MediaPipeline::from(&source)
    .extract(TimeRange::from_seconds(10.0, 60.0))
    .resize(Resolution::p1080(), Default::default());

println!("{} operations queued", pipeline.operations().len());
// Execute with a MediaExecutor backend (rskit-media-ffmpeg or rskit-media-image)

See Also

Main repository README