ff-stream 0.6.0

HLS and DASH adaptive streaming output for the ff-* crate family
docs.rs failed to build ff-stream-0.6.0
Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.
Visit the last successful build: ff-stream-0.7.3

ff-stream

Status

ff-stream will provide HlsOutput, DashOutput, and AbrLadder for producing adaptive bitrate streaming content from any video source. Currently a placeholder — the API is under design.

Planned API

use ff_stream::{HlsOutput, AbrLadder, Rendition};

// Define an ABR ladder: multiple quality renditions from one input.
let ladder = AbrLadder::builder()
    .rendition(Rendition::new(1920, 1080, 6_000_000))
    .rendition(Rendition::new(1280, 720,  3_000_000))
    .rendition(Rendition::new(854,  480,  1_500_000))
    .rendition(Rendition::new(640,  360,    800_000))
    .build()?;

// Write an HLS package to a directory.
let output = HlsOutput::builder()
    .input("source.mp4")
    .output_dir("hls_output/")
    .segment_duration(6)
    .ladder(ladder)
    .build()?;

output.run()?;
// Writes hls_output/master.m3u8 and per-rendition segment files.

MSRV

Rust 1.93.0 (edition 2024).

License

MIT OR Apache-2.0