plex-nvenc-rpc v0.0.1
First working release. Real hardware decode (NVDEC) and encode (NVENC)
for Plex Transcoder on aarch64, via a process-boundary RPC bridge —
see the main README for why an in-process plugin doesn't work and
docs/history.md for the full build/debug history, including a
GPU-path quality/bitrate bug that was silently defeating the whole
point of this project until it was found and fixed for this release.
What's attached
libh264_nvenc_encoder.so— the Plex-facing plugin (musl build).
Pinned to Plex FFmpeg build hashc75335c-a7cfb6836f3ed63280a7eb83
(glue.c'sEXPECTED_BUILD_HASH) — it will refuse to load against
any other Plex build. Find your own build hash with:If yours differs, you need to rebuild from source (find "/config/Library/Application Support/Plex Media Server/Codecs" -maxdepth 1 -type dbuild-plugin.sh)
against your own hash — it's a few-second recompile, no FFmpeg
linkage involved.nvenc-helper— the glibc worker process that does all real
CUDA/NVENC/NVDEC work. Built against a specific NVIDIA driver/CUDA
ABI generation (driver 595.x, ffnvcodec 11.1.5.3) — if it fails to
load your NVIDIA libraries, rebuild withbuild-helper.shon your
own host instead of using this binary.SHA256SUMS— checksums for both binaries above.
Fastest path to your own working build
Don't fight the pinned build hash / driver ABI by hand. Point Claude
Code (or another coding agent) at this repo and your own Plex
container and ask it to adapt EXPECTED_BUILD_HASH, rebuild both
binaries for your Plex version and driver, and wire up the bind mounts
from the README's "Installing" section. What took a full debugging
session to build and fix from scratch the first time should be roughly
a 20-minute job for an agent working from a known-good reference
implementation instead of a blank slate.
License
GPLv2 — see LICENSE. Source for these exact binaries is this repo at
tag v0.0.1. Not affiliated with, endorsed by, or supported by Plex
Inc.