Tdarr Scripts
AV1 Flow and Tdarr Node Killer Script Guide
Purpose
This guide aims to help users optimize their media libraries by using AV1 encoding and efficiently managing GPU resources between Plex and Tdarr. The AV1 Flow provides a highly efficient way to compress video files, saving significant storage space, while the Tdarr Node Killer Script ensures that your Intel ARC GPU is dedicated to Plex when needed, without interrupting other processes.
What You Will Accomplish
- AV1 Encoding: Learn how to use AV1 encoding to significantly reduce the size of your video files, freeing up storage space while maintaining video quality.
- Efficient GPU Management: Implement a script that automatically manages your GPU resources, ensuring that Plex has dedicated access to your Intel ARC GPU when it needs to transcode video, without interrupting Tdarr's video processing tasks.
- Optimized Media Library: By following this guide, you will be able to compress a large media library, potentially reducing a 300TB library to 75-100TB, making it easier to manage and store.
Why This Is Helpful
For users with large media libraries, storage space can quickly become an issue. The AV1 Flow provides an effective solution by drastically reducing the size of your video files. Additionally, the Tdarr Node Killer Script ensures that your Intel ARC GPU is used efficiently, preventing conflicts between Plex and Tdarr and ensuring that Plex users experience smooth, uninterrupted playback.
AV1 Encoding Flow (Compatible with Intel ARC GPUs)
What is the AV1 Flow?
The AV1 encoding flow is a process that converts video data into the AV1 format, known for its high efficiency and excellent compression. The flow involves:
- Source: Your original video file.
- Input Processing: Preparing the video by adjusting resolution, color space, and more.
- Encoding: The AV1 encoder compresses the video data, making the file smaller without losing too much quality.
- Output: The final, compressed AV1 video file is ready for streaming or storage.
Note: This flow should work on any operating system that has an Intel ARC GPU card. You just need to ensure that the ARC GPU is exposed in your Tdarr Docker container.
Tdarr Node Killer Script Overview (Designed for Unraid, Works on Any OS)
This section explains how the Tdarr Node Killer Script works to manage your GPU resources, ensuring that Plex can have dedicated access when needed.
Note: While this script is designed to work seamlessly on Unraid, it can technically work on any operating system as long as you create a service. An experimental service script for Ubuntu is provided at the end of this guide.
Prerequisites for Unraid
Before adding the Tdarr Node Killer Script, ensure that you have installed the [User Scripts] plugin by Andrew. This plugin is essential for running scripts on Unraid.
Once the plugin is installed, set the script to run at "First Array Start Only." This setting ensures that the script starts with the array and continues to run. If it's determined that the script stops when the array is stopped, adjust it to "Start of Array Every Time."
Note: Ignore the other two nodes in the photos. The selected node is dedicated to Plex. The purpose of this setup is to ensure that the GPU is put to work without disrupting Plex users. There are two ARC 380 GPUs (one dedicated to Plex) and one ARC 310 GPU. The ARC 380 GPUs can handle up to 7 streams each for Tdarr, while the ARC 310 handles up to 5 streams at a time.
Tdarr Node Killer Script Behavior
Step 1: Tdarr Node Running, No Plex Transcoding
Explanation: The Tdarr node is running, and Plex is not currently transcoding any videos. This means Tdarr is using the GPU resources for video processing tasks.
Step 2: Script Monitoring for Plex Transcoding
Explanation: The script continuously checks if Plex is transcoding. At this point, no transcoding is detected, so Tdarr continues using the GPU.
Step 3: Plex User Starts Transcoding
Explanation: A Plex user starts watching a video, causing Plex to begin transcoding. This might happen if the video is in a format like AV1, H.264, or H.265, which requires transcoding for older devices or specific user settings.
Step 4: Script Detects Plex Transcoding, Stops Tdarr Node
Explanation: The script detects that Plex is transcoding and stops the Tdarr node. This action frees up the Intel ARC GPU so that Plex can use it exclusively for transcoding.
Step 5: Tdarr Node Is Stopped
Explanation: Inside Tdarr, you can see that the node has been stopped by the script. This ensures that Plex has full access to the GPU for efficient transcoding.
Step 6: Tdarr Node Dead
Explanation: The Tdarr node is completely stopped, ensuring that Plex has exclusive access to the GPU.
Script Behavior After Plex Transcoding Stops
The script doesn't immediately restart the Tdarr node after Plex stops transcoding. Instead, it checks every 5 seconds for 5 minutes to ensure that Plex isn't going to start transcoding again. This prevents the Tdarr node from constantly stopping and starting, which could be inefficient.
Step 7: Countdown Before Restarting Tdarr Node
Explanation: The script is counting down, checking every 5 seconds to see if Plex starts transcoding again. If Plex does start, the timer resets, ensuring that the Tdarr node stays off as long as Plex needs the GPU.
Step 8: Tdarr Node Restarted After 5 Minutes
Explanation: After 5 minutes with no Plex transcoding detected, the script restarts the Tdarr node. The process then continues to check if Plex starts transcoding, so the node can be stopped again if needed.
Step 9: Tdarr Node Coming Back Online
Explanation: Inside Tdarr, you can see that the node is coming back online after being restarted by the script.
Step 10: Tdarr Node Fully Online
Explanation: The Tdarr node is now fully operational and visible on the dashboard. The script will continue to monitor Plex and manage the node as needed.
Data Savings with AV1 Encoding
Running this setup with three ARC GPUs has shown significant data savings over two weeks. With AV1 encoding, a savings of 37TB was achieved, covering only 10-15% of the library.
Explanation: AV1 encoding can drastically reduce storage needs. For example, a 300TB library could be reduced to 75-100TB, making it an efficient solution for large media libraries.
Experimental: Running the Script as a Service on Ubuntu
If you're using a different operating system like Ubuntu, you can run this script as a service. Below is an experimental service script to help you set it up.
Creating the Service
-
Save the Script: Save your Tdarr Node Killer Script as
tdarr_node_killer.shin/usr/local/bin/.sudo nano /usr/local/bin/tdarr_node_killer.sh -
Set the Proper Permissions:
Ensure that the script has the correct permissions to execute. Use the following commands:
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 will allow the script to run automatically on startup and ensure that it stays active in the background, just like it would on Unraid.
Summary
The Tdarr Node Killer Script is designed to intelligently manage GPU resources between Plex and Tdarr. By monitoring Plex transcoding activity and controlling the Tdarr node, the script ensures that your Intel ARC GPU is used efficiently. This guide provides a visual walkthrough of the process, making it easy for beginners to understand how the script works and how to configure it for their own use.













