Transcoding-GPU-Benchmark
spaceinvaderone/transcoding-gpu-benchmark:latest
https://hub.docker.com/r/spaceinvaderone/transcoding-gpu-benchmark
bridge
sh
false
https://github.com/SpaceinvaderOne/transcoding-gpu-benchmark/issues
https://github.com/SpaceinvaderOne/transcoding-gpu-benchmark
Measures the maximum SUSTAINED number of simultaneous 4K HEVC -> 1080p H.264 (8 Mbit, strict >= 1.0x realtime) transcodes a GPU can do, shown live on a web scoreboard you can watch in a browser. Supports Intel (VAAPI), AMD (VAAPI), NVIDIA (NVENC/NVDEC) and CPU software transcoding - you pick which device to test from the web UI. GPU SETUP: INTEL and AMD work OUT OF THE BOX via the /dev/dri device below. FOR NVIDIA make ONE change - add --runtime=nvidia to Extra Parameters (the NVIDIA variables are already set; the NVIDIA driver plugin must be installed; on an NVIDIA-only host you can also remove the /dev/dri device). Everything else is identical for all vendors. It ramps the stream count one at a time and reports the highest count where EVERY stream still runs at or above real-time (same pinned test clips across vendors, so the numbers are comparable - and you can submit yours to the community leaderboard). Built on the Jellyfin image only to reuse the jellyfin-ffmpeg binary and its validated driver stack - the Jellyfin server itself is NOT run (the entrypoint is overridden). This is a run-and-watch benchmark, not an always-on service: pick a GPU, start it, watch the scoreboard reach the limit, then stop it. Nothing else should be using the GPU while it runs, or the result will be skewed.
Tools:
http://[IP]:[PORT:8088]
https://raw.githubusercontent.com/SpaceinvaderOne/transcoding-gpu-benchmark/main/transcoding-gpu-benchmark.xml
https://raw.githubusercontent.com/SpaceinvaderOne/transcoding-gpu-benchmark/main/icon.png
--cap-add PERFMON
A GPU with hardware transcoding. INTEL / AMD: works out of the box — just keep the /dev/dri device (VAAPI). NVIDIA: you MUST add --runtime=nvidia to Extra Parameters (it is NOT included by default; the NVIDIA driver plugin is required); the /dev/dri device can stay if you also have an Intel/AMD GPU, or be removed on NVIDIA-only hosts. --cap-add PERFMON (in Extra Parameters by default) lets intel_gpu_top read the Intel iGPU live telemetry (engine %, clock). OPTIONAL: add --pid=host to Extra Parameters to NAME which apps are using a GPU in the pre-test busy check (read-only host process visibility) - without it the check still warns when a GPU is busy, it just can't name the app. The RAM-speed readout (Intel iGPU) needs the read-only DMI mount below. The benchmark runs fine without these extras.
8088
/dev/dri/
/tmp/transcode-test
/mnt/user/appdata/transcoding-gpu-benchmark
/mnt/user/appdata/transcoding-gpu-benchmark/cache
/sys/devices/virtual/powercap
/sys/firmware/dmi/tables
/etc/unraid-version
/boot/config/plugins/dynamix/dynamix.cfg
/mnt/user/appdata/transcoding-gpu-benchmark/input
128
all
all