Summary of "Transcoding with an Nvidia GPU & Unlocking it for Maximum Streams in Plex, Emby & Jellyfin"
Goal
Use an NVIDIA GPU for hardware transcoding on Unraid 6.9+ for:
- Plex
- Emby (Jellyfin-compatible setup via NVIDIA/encoding stack)
- Jellyfin
For users without Quadro cards, the video explains how to remove NVIDIA’s consumer “multiple session” limitations—described as “unlocking” the card to enable maximum streams.
Key concepts / constraints discussed
1) NVIDIA “multiple sessions” limitation + Quadro recommendations
Common advice: use Quadro GPUs since they can transcode multiple streams.
The presenter argues this is not strictly necessary. Cheaper NVIDIA consumer GPUs can achieve similar behavior by:
- Installing appropriate drivers
- Applying an “unlock” method
2) EULA / compliance debate and “VM passthrough” context
The video covers:
- NVIDIA restrictions for GPU use in VMs (mentions Error 43).
- Unraid has patches that reduce detection/driver disabling during GPU passthrough.
- The presenter claims these VM patches don’t modify NVIDIA driver code, but warns that unlocking for multi-transcode may violate NVIDIA’s driver EULA.
Viewer discretion advised.
Installation & setup guide (Unraid 6.9+)
Step A — Update Unraid to 6.9+ (if needed)
- Go to Tools → Update OS
- Install the Stable branch (video notes stable released Feb 22, 2021)
- Reboot after updating
Step B — Install NVIDIA driver support on Unraid
- Open the Apps tab
- Search for “nvidia”
- Install the NVIDIA plugin
- After installation:
- Stop and restart Docker to ensure drivers are ready
Step C — Install GPU monitoring
Install “GPU Statistics” plugin and set:
- Vendor = NVIDIA
- Select the specific GPU (if multiple GPUs exist)
Docker container setups for transcoding
Common container requirements
Use NVIDIA-enabled containers (examples shown):
- LinuxServer Plex
- LinuxServer Emby
- LinuxServer Jellyfin
For each container’s template:
- Map media paths (movies/tv/music)
- Set NVIDIA_VISIBLE_DEVICES to the GPU ID
-
Add container parameter:
--runtime=nvidia -
Switch to Advanced view to edit Extra parameters
Plex (hardware transcoding verification)
- Install LinuxServer Plex container
- Configure:
- NVIDIA GPU ID
--runtime=nvidia
- In Plex settings, ensure hardware accelerated video encoding is enabled by checking:
- “Use hardware acceleration when available”
Requirement highlighted:
- Hardware transcoding requires a Plex subscription / Plex Pass
Testing / verification:
- Force a transcode (e.g., “Convert to 720p”)
- Check Plex Dashboard for HW (hardware encoding)
- Confirm on Unraid using GPU Statistics (video later indicates multiple concurrent transcodes, e.g., 3)
Emby (Emby Premier requirement + NVENC check)
- Install LinuxServer Emby container (default branch used in the video)
- Enable hardware acceleration when available in Emby settings
Requirement highlighted:
- Emby Premiere account (not just the free tier) for hardware transcoding
Testing / verification:
- Force a transcode to 720p
- In Emby UI, verify details show:
- Transcoding steps like H.265 → H.264
- Use of NVENC (video shows “nvidia encode decode” / H.265 to H.264 using NVENC)
Monitoring:
- Unraid GPU Statistics shows activity
- The presenter notes minor UI confusion about whether Emby appears correctly as an “active app,” though GPU usage is still indicated
Jellyfin (free, config + transcoding type)
- Install LinuxServer Jellyfin container
- Configure:
- NVIDIA GPU ID
--runtime=nvidia
Jellyfin-specific settings:
- Admin Dashboard → Transcoding
- Set Hardware acceleration to something other than “none”
- Select transcoding backend NVENC
- (Video mentions choosing from multiple options under that section, described as selecting “top five”)
Testing / verification:
- Force a transcode (e.g., “Conan the Barbarian” to 720p)
- Verification relies heavily on Unraid GPU Statistics, since the Jellyfin UI text is not clearly readable in the video
Key point:
- Unlike Plex/Emby, Jellyfin setup is presented as not requiring a paid key
Multi-container / multi-stream validation
- The video claims the NVIDIA GPU can handle multiple containers simultaneously.
Demonstration:
- Run Jellyfin + Plex + Emby concurrently with multiple transcodes
Confirmation:
- GPU Statistics shows three processes
Note:
- Emby may have a minor display/UX issue where activity doesn’t appear as expected in the “active app” view, but hardware usage still appears confirmed via GPU stats.
“Unlocking” NVIDIA for more concurrent transcodes (spike-cushion analogy)
After transcoding demos, the presenter demonstrates an automated patch workflow:
- Stop all GPU-using containers
- Install User Scripts plugin
- Create a script named “unlock nvidia”
- Paste a patch script fetched from a link in the description
- Schedule it to run at array start
- Run it immediately to patch/unlock the driver
Analogy: “spike cushions” are used to explain the concept of bypassing NVIDIA limitations by effectively changing what the system allows.
This is also tied back to the earlier discussion about EULA.
Main speakers / sources
Primary speaker
- The video author/presenter (“hi there guys…”), who installs/configures everything and discusses Plex/Emby/Jellyfin setup and the unlocking approach.
Primary software sources referenced
- Unraid OS 6.9+
- NVIDIA Unraid NVIDIA driver plugin
- GPU Statistics plugin
- LinuxServer.io containers:
- Plex
- Emby
- Jellyfin
- Plex (Plex Pass requirement)
- Emby (Emby Premiere requirement)
- Jellyfin (NVENC transcoding)
Category
Technology
Share this summary
Is the summary off?
If you think the summary is inaccurate, you can reprocess it with the latest model.