Video Toolbox
Work directly with hardware-accelerated video encoding and decoding capabilities.
Overview
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. These services are provided in the form of session objects (compression, decompression, and pixel transfer), which are vended as Core Foundation (CF) types. Apps that don’t need direct access to hardware encoders and decoders shouldn’t need to use VideoToolbox directly.
Topics
Frame Processing
Motion Estimation
Compression
Encoding video for low-latency conferencingEncoding video for live streamingEncoding video for offline transcodingVTCompressionSessionVTDecompressionSessionVTFrameSiloVTMultiPassStorage
Transformation
RAW Processing
Media Extension
HDR Metadata
Codec Support
VTIsHardwareDecodeSupported(_:)VTRegisterProfessionalVideoWorkflowVideoEncoders()VTRegisterProfessionalVideoWorkflowVideoDecoders()VTRegisterSupplementalVideoDecoderIfAvailable(_:)VTCopySupportedPropertyDictionaryForEncoder(width:height:codecType:encoderSpecification:encoderIDOut:supportedPropertiesOut:)VTCopyVideoEncoderList(_:_:)Video Encoder List Keys