- Add event.rs: structured event system for progress reporting - Add mux/: MKV muxer pipeline (EBML writer, TS demuxer, stream assembly) - Codec parsers: H.264, HEVC, AC-3, DTS, TrueHD, PGS, VC-1 - Lookahead buffer for codec private data extraction - Direct m2ts-to-MKV streaming without intermediate files
26 lines
729 B
Rust
26 lines
729 B
Rust
//! MKV muxing pipeline.
|
|
//!
|
|
//! Provides BD transport stream → MKV remuxing via composable streams.
|
|
//!
|
|
//! The main type is `MkvStream` — wraps any `Write + Seek` output,
|
|
//! receives raw BD-TS bytes via `write()`, outputs MKV.
|
|
//!
|
|
//! ```text
|
|
//! disc.rip(title, MkvStream::new(file, &title))
|
|
//! ```
|
|
//!
|
|
//! Components (for advanced use):
|
|
//! - `ts`: BD transport stream demuxer (192-byte packets → PES frames)
|
|
//! - `ebml`: EBML write primitives for Matroska container
|
|
//! - `mkv`: MKV muxer (tracks, clusters, blocks, cues)
|
|
//! - `codec`: Elementary stream parsers (frame boundaries, codec headers)
|
|
|
|
pub mod ebml;
|
|
pub mod ts;
|
|
pub mod mkv;
|
|
pub mod codec;
|
|
pub mod lookahead;
|
|
pub mod stream;
|
|
|
|
pub use stream::MkvStream;
|