Crate matroska_demuxer

Source
Expand description

A demuxer that can demux Matroska and WebM container files.

§Example:

use std::fs::File;
use matroska_demuxer::*;

let file = File::open("test.mkv").unwrap();
let mut mkv = MatroskaFile::open(file).unwrap();
let video_track = mkv
    .tracks()
    .iter()
    .find(|t| t.track_type() == TrackType::Video)
    .map(|t| t.track_number().get())
    .unwrap();

let mut frame = Frame::default();
while mkv.next_frame(&mut frame).unwrap() {
    if frame.track == video_track {
        dbg!("video frame found");
    }
}

Structs§

Audio
Audio settings.
ChapterAtom
Contains the atom information to use as the chapter atom.
ChapterDisplay
Contains all possible strings to use for the chapter display.
Colour
Settings describing the colour format.
ContentEncAesSettings
Settings describing the encryption algorithm used.
ContentEncoding
Settings for one content encoding like compression or encryption.
ContentEncryption
Settings describing the encryption used.
EbmlHeader
The EBML header of the file.
EditionEntry
Contains all information about a segment edition.
Frame
A data frame inside the Matroska container.
Info
Contains general information about the segment.
MasteringMetadata
SMPTE 2086 mastering data.
MatroskaFile
Demuxer for Matroska files.
SimpleTag
Contains general information about the target.
Tag
A single metadata descriptor.
Targets
Specifies which other elements the metadata represented by the tag applies to.
TrackEntry
Describes a track.
Video
Video settings.

Enums§

AesSettingsCipherMode
The AES cipher mode used in the encryption.
AspectRatioType
Specify the possible modifications to the aspect ratio.
ChromaSitingHorz
How chroma is sub sampled horizontally.
ChromaSitingVert
How chroma is sub sampled vertically.
ContentEncAlgo
The encryption algorithm used.
ContentEncodingType
Describing what kind of transformation is applied.
DemuxError
Errors that can occur when demuxing Matroska files.
DisplayUnit
How DisplayWidth & DisplayHeight are interpreted.
ElementId
The IDs of the supported elements.
FieldOrder
Declare the field ordering of the video.
FlagInterlaced
A flag to declare if the video is known to be progressive or interlaced.
MatrixCoefficients
The Matrix Coefficients of the video used to derive luma and chroma values from red, green, and blue color primaries.
Primaries
The colour primaries of the video.
Range
Clipping of the color ranges.
StereoMode
Stereo-3D video mode.
TrackType
Type of the track.
TransferCharacteristics
The transfer characteristics of the video.