Tdarr Install (QuickSync & Ubuntu)

Why Tdarr

With large adoption of the HEVC (x.265/H.265) codec, converting from H.264/VC-1 is becoming more and more appealing. Transcoding, on the fly, from H.264, H.265, and VC-1 can be done efficiently be accomplished in its entirety with QuickSync. It allows for a dozen+ streams, all transcoding, on a small computer worth a few hundred dollars and costing significantly less a computer and video card/GPU build. Some of the benefits of encoding in H.265:

  • Significantly smaller file size footprint; anywhere from 20-50% reduction in overall size of the file;
  • Half of the bitrate required for streaming/playback; when I travel and am on cellular and want to watch something from my home, over Plex, this is where the reduced footprint is obvious;
  • and more uniform library with less codec variance; remove VC-1 and other less wonderful codecs.

Tdarr

Tdarr is a self hosted web-app used to automate media library management allowing you to make sure that your files are meet your specific needs in relation to codecs/streams/containers etc. It works in conjunction with Sonarr/Radarr with a core designed to be both customizable and scalable. You are able to set on a per library basis transcode settings, filters and schedule. Workers consist of three types including ‘general’, ‘transcode’, or ‘health check’.

Greater detail can be found: Tdarr – Audio/Video Library Analytics & Transcode/Remux Automation

Tdarr not only allows you to transcode files from and into multiple formats, but also allows:

  • The use of HandBrake or FFmpeg
  • Searching for files based on hundreds of properties
  • Remove unwanted subtitle files
  • Remove unwanted audio streams
  • Transcode audio streams into a preferred format

Quick Sync

Intel QuickSync Video is Intel’s brand for its dedicated video encoding and decoding hardware core. The name “QuickSync” refers to the use case of quickly transcoding (“converting”) a video from, for example, a DVD or Blu-ray Disc to a format appropriate to, for example, a smartphone. This becomes critically important in situations where source material may available in any number of video formats, all of which must be brought into a common format (commonly H.264/H.265) for inter-cutting.

Unlike video encoding on a CPU or a general-purpose GPU, Quick Sync is a dedicated hardware core on the processor die. This allows for much more power efficient video processing.

Further, hardware-accelerated en/decoding has come a long way. Since the release of 7th generation Intel processors, the onboard GPU & Quick Sync technology is now fierce competition with Nvidia (NVENC) GPU en/decoding. QuickSync-equipped Intel’s are bountiful, easy to get and can be found in low-power, cheap setups. This makes it super interesting to create a mostly-for-transcoding small-form computer.

The cost to use a QuickSync-enabled CPU rather than a video card is an excellent ROI. In our tests, we found our video cards added 30w+ to our machines at idle and could skyrocket during load. The reality is, using video cards for media transcoding in small volumes doesn’t make sense. We define small volume as less than 15 to 20 simultaneous transcoded streams & direct streams.

Whether you make it a Plex Server(guide-link), a Tdarr(guide-link) box, or something else(blue iris), we’ve got a list of suitable machines that you can then install Ubuntu on and get up and running. We mostly use Plex and Tdarr and so we will focus on boxes that benefit those use-cases.

Greater detail can be found here: QuickSync Box (QSB) on Budget: Hardware Transcoding


This guide assumes you will be setting up Tdarr on a never before used system.

Steps:

  1. Install Ubuntu
  2. Install AutoFS
  3. Install Docker
  4. Install Portainer Docker
  5. Install Tdarr Docker

Install Ubuntu

Before installing Ubuntu You will need to create bootable media:

  1. Create a bootable USB stick on macOS
  2. Create a bootable USB stick on Windows
  3. Create a bootable USB stick on Ubuntu

Once you media is prepared you can install Ubuntu: Install Ubuntu desktop


Now that we have Ubuntu installed and ready to role we need to open a terminal and set our sudo privileges on the host. Let set it for the entirety of this session using the following command:

To open a terminal window press Ctrl+Atl+T

and once open

$ sudo -i

and then Enter

and now lets makes sure we have all of the latest and greatest information in our local database of software:

In the terminal window type:

apt-get update

​ and then Enter

​ Allow the operation to complete

and now lets upgrade our packages

apt upgrade

​ and then Enter

​ Allow the operation to complete


Install AutoFS

AutoFS will allow us to mount network drives (via NFS) to look like local drives, and have them auto reconnect on disconnect. This will be needed when it is time to set up and access your libraries in Tdarr.

Please follow the guide located here for this install: AutoFS Setup an FStab Alternative


Install Docker

For our purposes we will be installing Tdarr as a docker instance. To do so we will need to first install docker within our Ubuntu environment.

  1. Install Docker
   apt install docker.io
  1. Start and Automate Docker
  • Start the Docker Service
   systemctl start docker
  • Enable docker to run at Startup
   systemctl enable docker
  1. Verify the version of the docker install
   docker --version

Install Portainer

Portainer is an open-source management interface for Docker. It makes docker management easier by allowing you to manage containers, images, networks, and volumes from a web-based dashboard. For our purposes we will install Portainer as a docker.

  1. Let us download the Portainer image from DockerHub using the docker pull command below:
   docker pull portainer/portainer

Now we will run Portainer

   docker run -d -p 9000:9000 -v /var/run/docker.sock:/var/run/docker.sock portainer/portainer
  1. Now we will verify that Portainer is now running as a container
   docker ps
  1. We can see that Portainer is now running under the name Portainer on port 9000
  2. Next open your web browser and type the server IP address with port 9000. In the case of my install this will be http://192.168.1.125:9000
  3. Once the web page is loaded establish the user name and password for your admin account
  1. Now we will define the environment that Portainer will connect. For our purposes we will configure Portainer to connect to the local Docker environment. Chose the Local environment and hit Connect

8, You have now entered the Admin Dashboard for Portainer. Click on the tile labeled local

You are now ready to install dockers. Whether you install a Docker in command line or within Portainer it will register in Portainer!


Install Docker-Compose

  1. Installing docker-compose is a single step operation and can be accomplished by execute this command:
   apt install docker-compose
  1. Once it completes verify the install
   docker-compose version

Install Tdarr

Details on alternative methods can be found here: Tdarr Wiki

  1. Let us download the Tdarr image using the docker pull command below:
   docker pull haveagitgat/tdarr_aio
  1. Now we will create the volume for the TdarrDB
    docker volume create TdarrDB
  1. Switch Back to your home directory:
   cd ~
  1. Make a new directory for you docker-compose files:
mkdir docker-compose
  1. Enter your new directory
cd docker-compose
  1. Now we will create a Docker-Compose file for Tdarr. This assumes that you have followed the AutoFS Guide linked above, and requires that you know the paths you set for your shares while executing the guide.
bash
nano docker-compose.yml
  1. Once inside this file you will paste the following:

version: "3" 
services:
tdarr:
image: haveagitgat/tdarr_aio
container_name: tdarr
ports:
- 8265:8265
volumes:
- /opt/docker/tdarr/config:/home/Tdarr/Documents/Tdarr
- /opt/docker/tdarr/db:/var/lib/mongodb
- /mnt/user:/home/Tdarr/media
- /tmp/tdarr:/home/Tdarr/cache
- /etc/localtime:/etc/localtime:ro
devices:
- "/dev/dri:/dev/dri"
restart: unless-stopped   
  1. Now you Save and Close by pressing CTL+X and Y then Enter to confirm
  2. Next we will start the docker
  1. Now we will stop the container by hit CTRL+Cand head into Portainer for a few final tweaks. From this time forward all docker aspects for Tdarr will be managed in Portainer.
  2. To get to Portainer open a browser and navigate to you its GUI for me this is located at navigate to your http://192.168.1.125:9000
  3. Once you are logged in Navigate into the local endpoint tile that we set up earlier in this guide and click on the Containers tile and open the link to tdarr. You are now in the container configuration.
  4. You will now hit the Duplicate/Edit button in the upper middle section of the page and scroll to the bottom where you will change the user to root
  1. Now hit the Deploy Container button. When asked if you are sure hit yes.
  2. Tdarr is now installed. We will cover the configuration of Tdarr in another guide.

To discuss this post click here: https://forums.reeltalk.club/t/tdarr-install-quicksync-ubuntu/33