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 contextsutil- Core utilities (frames, errors, color, channel layouts, dictionaries)filter- Audio/video filtering and transformation graphssoftware- Software scaling and resamplingdevice- 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 supportformat(default) - Enable format/container supportfilter(default) - Enable filtering supportdevice(default) - Enable device supportsoftware-scaling(default) - Enable software video scalingsoftware-resampling(default) - Enable software audio resamplingstatic- Link FFmpeg staticallybuild- 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§
Functions§
- init
- Initializes the FFmpeg library.