Crate video_toolbox_sys

Crate video_toolbox_sys 

Source
Expand description

FFI bindings and helpers for Apple VideoToolbox framework.

VideoToolbox is a low-level framework that provides direct access to hardware encoders and decoders. It provides services for video compression and decompression, and for conversion between raster image formats stored in CoreVideo pixel buffers.

§Features

  • helpers - Enable high-level helper utilities (requires additional dependencies)

§Example

use video_toolbox_sys::codecs;
use video_toolbox_sys::compression::*;

// Use H.264 codec
let codec = codecs::video::H264;
let pixel_format = codecs::pixel::BGRA32;

§With helpers feature

use video_toolbox_sys::helpers::CompressionSessionBuilder;
use video_toolbox_sys::codecs;

let session = CompressionSessionBuilder::new(1920, 1080, codecs::video::H264)
    .hardware_accelerated(true)
    .bitrate(8_000_000)
    .frame_rate(30.0)
    .build_with_context(None, std::ptr::null_mut())
    .expect("Failed to create compression session");