pub enum Codec {
Show 17 variants
X264,
X265,
SvtAv1,
NvencH264,
QsvH264,
VideoToolboxH264,
VaapiH264,
AmfH264,
NvencH265,
QsvH265,
VideoToolboxH265,
VaapiH265,
AmfH265,
NvencAv1,
QsvAv1,
VaapiAv1,
AmfAv1,
}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).
NvencAv1
NVIDIA NVENC AV1 (av1_nvenc) — Ada/Blackwell and newer.
QsvAv1
Intel QuickSync AV1 (av1_qsv) — Arc/Battlemage and newer.
VaapiAv1
Linux VAAPI AV1 (av1_vaapi) — Arc/Battlemage, RDNA3+ and newer.
AmfAv1
AMD AMF AV1 (av1_amf) — RDNA3+ and newer.
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.