Crate playa_ffmpeg

Crate playa_ffmpeg 

Source
Expand description

§playa-ffmpeg

Safe Rust bindings for FFmpeg 8.0 with vcpkg integration for simplified cross-platform builds.

This crate provides idiomatic Rust wrappers around FFmpeg’s C libraries, enabling multimedia processing including video/audio encoding, decoding, muxing, demuxing, filtering, and transcoding.

§Main Modules

  • codec - Audio/video/subtitle codecs (encoders and decoders)
  • format - Container formats, streams, input/output contexts
  • util - Core utilities (frames, errors, color, channel layouts, dictionaries)
  • filter - Audio/video filtering and transformation graphs
  • software - Software scaling and resampling
  • device - Hardware input/output devices

§Quick Start

use playa_ffmpeg as ffmpeg;

// Initialize FFmpeg (required before use)
ffmpeg::init()?;

// Open input file
let input = ffmpeg::format::input(&"video.mp4")?;

// Process streams...

§Feature Flags

  • codec (default) - Enable codec support
  • format (default) - Enable format/container support
  • filter (default) - Enable filtering support
  • device (default) - Enable device support
  • software-scaling (default) - Enable software video scaling
  • software-resampling (default) - Enable software audio resampling
  • static - Link FFmpeg statically
  • build - Build FFmpeg from source during compilation

See Cargo.toml for additional codec-specific and licensing feature flags.

Re-exports§

pub extern crate ffmpeg_sys_next as sys;

Re-exports§

pub use crate::util::channel_layout;
pub use crate::util::channel_layout::ChannelLayout;
pub use crate::util::chroma;
pub use crate::util::color;
pub use crate::util::dictionary;
pub use crate::util::dictionary::Mut as DictionaryMut;
pub use crate::util::dictionary::Owned as Dictionary;
pub use crate::util::dictionary::Ref as DictionaryRef;
pub use crate::util::error;
pub use crate::util::error::Error;
pub use crate::util::frame;
pub use crate::util::frame::Frame;
pub use crate::util::log;
pub use crate::util::mathematics;
pub use crate::util::mathematics::Rescale;
pub use crate::util::mathematics::Rounding;
pub use crate::util::mathematics::rescale;
pub use crate::util::media;
pub use crate::util::option;
pub use crate::util::picture;
pub use crate::util::rational;
pub use crate::util::rational::Rational;
pub use crate::util::time;
pub use crate::format::chapter::Chapter;
pub use crate::format::chapter::ChapterMut;
pub use crate::format::format::Format;
pub use crate::format::stream::Stream;
pub use crate::format::stream::StreamMut;
pub use crate::codec::audio_service::AudioService;
pub use crate::codec::codec::Codec;
pub use crate::codec::discard::Discard;
pub use crate::codec::field_order::FieldOrder;
pub use crate::codec::packet;
pub use crate::codec::packet::Packet;
pub use crate::codec::subtitle;
pub use crate::codec::subtitle::Subtitle;
pub use crate::codec::threading;
pub use crate::codec::decoder;
pub use crate::codec::encoder;
pub use filter::Filter;
pub use sys as ffi;

Modules§

codec
Audio, video, and subtitle codec support.
device
Hardware device input and output.
filter
Audio and video filtering.
format
Container format support for muxing and demuxing.
software
Software scaling and resampling.
util
Core utilities and data structures.

Macros§

dict

Functions§

init
Initializes the FFmpeg library.