Want to help? Click the ★ (Star) button in the upper-right corner!
This guide shows you how to optimize your media library with AV1 encoding on Unraid, while also managing GPU resources between Plex and Tdarr. You’ll learn how to shrink your video files, save a ton of storage space, and automatically free up your GPU for Plex users. On top of that, we’ll show you how to use a simple script to pause Tdarr when Plex needs the GPU, then restart Tdarr when Plex is done.
This guide covers:
- Getting your Intel ARC GPU set up on Unraid.
- Encoding videos to AV1 for huge space savings.
- Dynamically managing your Tdarr node so Plex always has priority.
- Backing up and restoring configurations.
- Troubleshooting common issues.
Whether you’re an Unraid pro or new to the platform, we’ll walk you through it step-by-step.
BONUS: Enhance your SABnzbd experience with the SAB Speed Script. This tool dynamically adjusts your download speeds whenever someone is watching content from your Plex server, preventing bandwidth competition that could cause buffering and playback issues. By automatically slowing down your downloads during peak usage and offering a configurable “nighttime” mode for maximum speeds when your network is idle, the SAB Speed Script ensures a smoother, more efficient media streaming experience. The script can be found Here and requires Tautulli for Plex Monitoring.
For this script to run, you need to install - USER SCRIPTS - from the UNRAID APP STORE. Once you save the script, ensure it is setup to STARTUP AT ARRAY. Also, click RUN IN THE BACKGROUND just to get it going. NOT REQUIRED FOR TDARR AV1!
- Data Savings with AV1 Encoding
- AV1 Drawbacks
- Upgrading to Unraid 7.0 and Installing Required Plugins
- Deploying Plex with Intel ARC GPU Support
- AV1 Tdarr Flow
- Optimizing AV1 Encoding Settings
- Tdarr Node Killer Script
- Experimental: Running the Script on Other Operating Systems
- Backup and Recovery Tips
- Summary
With AV1, you can drastically reduce storage usage. In tests with three Intel ARC GPUs, just encoding 10-15% of a large library saved about 37TB! For a 300TB collection, AV1 could potentially bring it down to 75-100TB.
In short, AV1 can save you tons of space and costs.
AV1 isn’t perfect. Some devices can’t handle it natively yet, and the encoding process might be slower or more resource-intensive. For more details, check out the AV1 Drawbacks page.
Before setting up AV1 flows or using the Tdarr Node Killer Script, make sure you’re on Unraid 7.0 (or newer) and have the proper plugins to manage and monitor your Intel ARC GPU.
Install Intel GPU TOP by ich777 from the Unraid Community Apps. This lets you monitor your Intel ARC GPU’s performance directly in Unraid.
Install the GPU Statistics plugin by b3rs3rk for detailed GPU usage stats. With these two plugins, you’ll easily confirm that your GPU is being used when encoding or transcoding.
Once installed, you can see real-time GPU usage:
In your Plex Docker template, add the Intel ARC GPU as a device. Without this, Plex won’t know it can use your GPU.
Enable GPU transcoding in Plex and, if needed, HDR tone mapping. If you have multiple identical GPUs, Plex lists them in order. Make sure you select the correct one.
Play a file that needs transcoding. Check Plex’s dashboard and GPU stats. If the GPU is doing the work, you’ll see less CPU usage and a smooth playback experience.
Change Log:
- v1: Original
- v2: Remove B Frames
- v3: Improved Quality Greatly
- v4: Added remove image from files, this would cause about a 25% failure rate for your files to transcode. Adding this allows a 100% conversion rate for AV1.
JSON Script: This script can be found Here.
The AV1 Flow is a preset in Tdarr that converts your media to AV1. It’s straightforward: input → process → encode → output. This is where you get those huge file-size savings.
Import the provided AV1 Flow JSON into Tdarr. Then apply it to your libraries so Tdarr will start using your Intel ARC GPU for AV1 encoding (if configured).
Scroll to the very bottom:
Paste the JSON:
Once applied, Tdarr will begin shrinking your files to AV1 format.
Experiment with quality (CRF) and bitrate settings until you find a good balance between file size and video quality. Also, ensure hardware acceleration is on so the GPU does most of the heavy lifting.
Change Log
- v1: Original Script
- v2: Script monitors PLEX via Tautulli to simplify processes
This optional script frees up the GPU for Plex whenever Plex needs it. If Tdarr and Plex share the GPU, Tdarr might interfere with streaming performance. With this script:
- When Plex starts transcoding: the script stops the Tdarr node, giving the GPU to Plex.
- When Plex stops: after a short cooldown (e.g., 180 seconds), the script restarts Tdarr.
SCRIPT: The Tdarr Node Killer script can be found Here.
For this script to run, you need to install - USER SCRIPTS - from the UNRAID APP STORE. Once you save the script, ensure it is setup to STARTUP AT ARRAY. Also, click RUN IN THE BACKGROUND just to get it going.
The script uses Tautulli’s API to detect when Plex is transcoding:
- If Plex is transcoding: kill the Tdarr node.
- After Plex stops, wait the cooldown period, then bring Tdarr back online.
This prevents rapid start/stop cycles if Plex users jump in and out often.
-
Tdarr node running, no Plex transcoding:
-
Script monitoring for Plex transcoding:
-
Plex user starts transcoding:
-
Script detects Plex transcoding and stops Tdarr node:
-
Tdarr node is completely stopped:
The script doesn’t instantly bring Tdarr back up. It waits, say 3 minutes, to ensure Plex isn’t going to start transcoding again immediately.
-
Countdown before restarting Tdarr node:
-
After the wait, Tdarr node is restarted:
-
Tdarr node fully online again:
- Plex not using GPU? Check your Docker template and Plex settings.
- Tdarr not restarting? Ensure the script and Tautulli API are working correctly.
- High CPU usage? Check if HDR tone mapping is enabled and supported. Also verify GPU drivers and plugins are up-to-date.
You can run this script on other Linux distros that support Docker and systemd. The process is basically the same: place the script, create a systemd service, and start it up.
-
Save the Script: Save your Tdarr Node Killer Script as
tdarr_node_killer.sh
in/usr/local/bin/
.sudo nano /usr/local/bin/tdarr_node_killer.sh
-
Set the Proper Permissions:
sudo chmod +x /usr/local/bin/tdarr_node_killer.sh sudo chown root:root /usr/local/bin/tdarr_node_killer.sh
-
Create a Service File: Create a service file for the script:
sudo nano /etc/systemd/system/tdarr_node_killer.service
-
Add the Following Content:
[Unit] Description=Tdarr Node Killer Script After=network.target [Service] Type=simple ExecStart=/bin/bash /usr/local/bin/tdarr_node_killer.sh Restart=on-failure [Install] WantedBy=multi-user.target
-
Reload Systemd:
sudo systemctl daemon-reload
-
Start and Enable the Service:
sudo systemctl start tdarr_node_killer.service sudo systemctl enable tdarr_node_killer.service
This ensures the script runs automatically and manages your GPU resources even if you’re not on Unraid.
Before making changes:
- Backup Plex configs (metadata, watch history, etc.).
- Backup Docker templates so you can quickly restore containers.
- Backup your Unraid flash drive so you don’t lose your server setup.
Test your backups occasionally to ensure they work when you need them.
By setting up AV1 encoding with Intel ARC GPUs, you can achieve massive storage savings and still maintain great quality. Adding the optional Tdarr Node Killer Script ensures Plex always has priority access to the GPU when needed. With careful tuning and a bit of experimentation, you can streamline your server’s performance, reduce storage costs, and keep everyone happy with smooth, high-quality streams.
Found this useful? Consider clicking the star (★) button at the top!