Which encoder re-encodes every
/live channel to H.264 + MP2 for Plex's HDHomeRun tuner. Pick by your hardware:
- auto — default. Try a GPU first, then fall back to CPU. Leave it here unless you have a reason to pin.
- qsv — Intel GPU / iGPU (Quick Sync).
- vaapi — AMD GPU, or Intel via VAAPI.
- nvenc — NVIDIA GPU (NVENC). The linux/amd64 image ships ffmpeg built with h264_nvenc — map the GPU in with --gpus all (NVENC is x86-only, so it is not on the arm64 image).
- v4l2m2m — Linux V4L2 stateless encoders on SoCs / embedded GPUs: this is the one that works on a Raspberry Pi (its VideoCore/VEC H.264 encoder — 64-bit OS), and on Rockchip / Amlogic / Allwinner / Qualcomm / MediaTek SoCs. Not for discrete NVIDIA cards (that is nvenc).
- cpu — encode on the CPU with libx264. Always works, no GPU needed (about one core per 720p channel).
- off — no re-encode; serve the raw upstream (Plex then shows "Could not tune" on most channels).
A GPU / hardware backend only works if the container can actually reach the device — map it in (Intel/AMD:
--device /dev/dri; NVIDIA:
--gpus all; a V4L2 SoC such as a Raspberry Pi: the codec's
/dev/videoN — e.g.
/dev/video11 on a Pi 4). A pinned backend the container can't reach silently falls back to CPU (with a log warning).