Playing and streaming at the same time used to make the processor sweat. A hardware encoder hands the job to a small circuit that does nothing else all day.
The short answer
A hardware video encoder is a dedicated block in a graphics card or processor that compresses video into codecs such as H.264, HEVC or AV1. NVIDIA calls it NVENC and says it is separate from the CUDA cores [1]. Intel's media engine, also called Quick Sync Video, runs independently of the GPU's compute engines [3]. AMD gives applications access to its encoders through the Advanced Media Framework (AMF) [5]. Our assessment: for live streaming and game streaming at home, use the hardware encoder; encoding on the CPU is the fallback when none is available [7].
How it works
- Separate silicon. NVIDIA GPUs contain one or more hardware encoders and decoders separate from the CUDA cores, which handle video faster than real time [1]. Intel's media engine has its own instruction queue and clock, so the rest of the GPU stays free for other work [3]. Our reading: the game keeps its shader units, and the encoder works next to them.
- Codecs depend on the generation. NVENC encodes H.264, HEVC and AV1 [1], but AV1 encoding is listed only for GeForce RTX 40 and RTX 50 cards [2]. Intel lists AVC, HEVC and AV1 encoding for Arc A-series, Arc B-series and Core Ultra processors with Arc graphics [4]. Intel Core processors without integrated graphics have no media support at all [8]. AMD added AV1 encoding to the AMF SDK in version 1.4.28; whether your card can use it depends on its hardware [5].
- How many encoders. NVIDIA lists two 8th-generation NVENC units for the RTX 4090, 4080 SUPER, 4080, 4070 Ti SUPER and 4070 Ti, and one for the RTX 4070 SUPER, 4070, 4060 Ti and 4060 [2].
- How software reaches it. FFmpeg offers the encoders
h264_nvencandhevc_nvencfor NVIDIA andh264_amf,hevc_amfandav1_amffor AMD [6]. The streaming host Sunshine uses the first encoder it finds and lets you forcenvenc,quicksync,amdvce,vaapi,vulkan(Linux only) orsoftware, which encodes on the CPU [7]. - Encoding is half the story. Decoding runs on separate hardware, which NVIDIA calls NVDEC [1]. Our reading: for streaming, the receiving device must be able to decode the codec you pick, so AV1 only helps when both ends support it.
A practical example
You want to stream games from your desktop to a laptop with Sunshine. First, check which hardware encoders your FFmpeg build knows about [6]:
ffmpeg -hide_banner -encoders | grep -E "nvenc|qsv|amf|vaapi"The list shows what the build supports, not proof that your card has the hardware, so try a short test encode as well. Then compare the AV1 row for your GPU on the maker's page [2][4]. If Sunshine picks the wrong device, set encoder = nvenc (or the value for your GPU) in its configuration [7]. This is a generic walk-through, not a measurement on our own hardware.
Checklist
- Look up the AV1 encode entry for your exact GPU before you choose AV1 [2][4].
- Check whether your CPU has integrated graphics before you count on Quick Sync [8].
- List the encoders your software can see and run one test encode [6][7].
- Update the graphics driver; each AMF SDK version names a minimum AMD Software driver [5].
- Confirm that the receiving device can decode the codec you stream in (our reading).
- Switch to the software encoder only when no hardware encoder is available [7].