Skip to main content

Apple

Apple VideoToolbox is the native macOS hardware encode path. Binary installs are strongly recommended. Docker on macOS has limited VideoToolbox access and is not the reliable path for production encoding.

Supported hardware

HardwareH.264HEVCAV1Notes
Intel + T2YesYesNoHEVC depends on T2-capable hardware
M1 / M2YesYesNoNative media engines
M3+YesYesNoDecodes AV1 in hardware, but no Mac chip can encode AV1

No Apple Silicon has an AV1 hardware encoder — VideoToolbox exposes no AV1 encoder. AV1 output on macOS always uses the CPU path (libsvtav1).

Install path

Use the Alchemist macOS binary plus a Homebrew FFmpeg build:

brew install ffmpeg
ffmpeg -encoders | grep videotoolbox

Expected encoders include:

  • h264_videotoolbox
  • hevc_videotoolbox

There is no av1_videotoolbox encoder — VideoToolbox cannot encode AV1 on any Mac. For AV1 output, Alchemist uses the CPU encoder (libsvtav1).

Critical probe note

VideoToolbox fails with error -12908 if you probe it with a synthetic lavfi frame without -allow_sw 1 and -vf format=yuv420p. Current Alchemist releases include that fix in hardware detection automatically.

If you want to verify the probe manually, use this exact command:

ffmpeg -f lavfi -i color=c=black:s=64x64:d=0.1 \
-vf format=yuv420p \
-c:v hevc_videotoolbox \
-allow_sw 1 \
-frames:v 1 -f null -

In Alchemist

Set Settings → Hardware → Preferred Vendor → apple. Do not set a device path. VideoToolbox is not exposed as a Linux-style render node.