SiliconDust HDHomeRun 4k tuners have the ability to access ATSC 3.0 over the air NextGen TV 4k video. Plex and Jellyfin can access these channels, but without audio, In this video, we learn one possible solution to this.
The solution is to create an emulated HDHomeRun tuner that can accept and decode the Dolby AC-4 audio stream coming from an ATSC 3.0 broadcast received by an HDHomeRun Connect 4k or an HDHomeRun Flex 4k tuner. The AC-4 audio is decoded and encoded to AC-3 which is usable on Plex and Jellyfin.
The 2fauth project documenation is here.
In my example, I created a LXD container on my IoT network which is where my real HDHomeRun Flex 4k tuner is located. You will need an appropriate LXD Profile to bridge this container to your LAN where your tuner is located. Watch my videos on bridging LXD containers.
Create the container:
lxc launch ubuntu:22.04 hdhomerun --profile default --profile vlan30 -c security.nesting=true -c limits.memory=2048MB -c limits.cpu.allowance=20% -c boot.autostart=true
Connect to the container:
lxc exec hdhomerun bash
Upgrade the container:
apt update && apt upgrade -y
Install docker and docker-compose:
curl https://get.docker.com | sh apt install docker-compose
Add a user account:
Grant the user account sudo and docker:
usermod -aG sudo scott usermod -aG docker scott
Move over to the account:
su - scott
Get the hdhr-ac4 project from github:
sudo apt install unzip
Unzip the file, delete the zip, rename the folder and move into it:
unzip v1.5.0rc.zip rm v1.5.0rc.zip mv hdhr-ac4-1.5.0rc hdhomerun cd hdhomerun
Get a copy of the Emby Media server beta installation package, but don’t install it. When we build the docker container, code bits are used from it for AC-4 audio decoding.
Edit the Dockerfile as shown in the video and update the version number of the emby package you just downloaded in the two places shown in the video:
Save the file with a CTRL O and Enter and then a CTRL X to exit the editor.
Build the docker project.
docker build -f Dockerfile -t hdhr-ac4 .
Create a docker-compose file.
Insert the following into the docker compose file. Change the HDHR_IP address to the address of your HDHomeRun Flex 4k and change the HOST_IP to be the IP address of the LXD container. NOTE: You can’t change port 80 or port 5004 in the following.
version: '3' services: HDHomeRun: image: 'hdhr-ac4' restart: unless-stopped ports: - '80:80' - '5004:5004' environment: - HDHR_IP=192.168.30.134 - HOST_IP=192.168.30.201 - DEVICEID_SWAP=1
Start the container:
docker compose up -d
Finally, go into your Plex and/or Jellyfin Live TV configuration and add the new emulated HDHomeRun tuner that we just created. When you access the channel, you should now get audio on the ATSC 3.0 channels.