pub enum Codec {
Show 13 variants
X264,
X265,
SvtAv1,
NvencH264,
QsvH264,
VideoToolboxH264,
VaapiH264,
AmfH264,
NvencH265,
QsvH265,
VideoToolboxH265,
VaapiH265,
AmfH265,
}Expand description
Supported video codec.
Software encoders (libx264, libx265, libsvtav1) are always available.
Hardware encoder variants require FFmpeg built with the matching SDK
and a GPU with the matching ASIC at runtime; availability is detected
via ffmpeg -encoders.
Variants§
X264
H.264/AVC via libx264.
X265
H.265/HEVC via libx265.
SvtAv1
AV1 via libsvtav1 (SVT-AV1).
NvencH264
NVIDIA NVENC H.264 (h264_nvenc).
QsvH264
Intel QuickSync H.264 (h264_qsv).
VideoToolboxH264
Apple VideoToolbox H.264 (h264_videotoolbox).
VaapiH264
Linux VAAPI H.264 (h264_vaapi).
AmfH264
AMD AMF H.264 (h264_amf).
NvencH265
NVIDIA NVENC HEVC (hevc_nvenc).
QsvH265
Intel QuickSync HEVC (hevc_qsv).
VideoToolboxH265
Apple VideoToolbox HEVC (hevc_videotoolbox).
VaapiH265
Linux VAAPI HEVC (hevc_vaapi).
AmfH265
AMD AMF HEVC (hevc_amf).
Implementations§
Source§impl Codec
impl Codec
Sourcepub fn backend(&self) -> EncoderBackend
pub fn backend(&self) -> EncoderBackend
Hardware encoder backend for this codec.
Sourcepub fn family(&self) -> CodecFamily
pub fn family(&self) -> CodecFamily
Codec family (compression standard).
Sourcepub fn is_hardware(&self) -> bool
pub fn is_hardware(&self) -> bool
Whether this codec uses a hardware encoder backend.
Sourcepub fn is_software(&self) -> bool
pub fn is_software(&self) -> bool
Whether this codec is a software encoder.