Install Open Source TV Streaming Server TvHeadend in Linux Mint

install tvheadend on linux mint

TvHeadend is an open-source TV streaming server for Linux based systems. It supports Digital Video Broadcasting standards (DVB-S, DVB-S2, DVB-C, DVB-T), Advanced Television Systems Committee standards (ATSC), IPTV, and V4L as input sources. It supports HTSP (Home TV Streaming Protocol), RTSP server, and the built-in Digital Video Recorder as output sources. It is easy to manage via web interface and provides multi-user support as well where you can grant access to various system features based on usernames or IP addresses.

Tvheadend specializes in receiving television signals and supports a client-server model which lets you allows you to watch Live TV, listen to radio or view EPG TV-Guide.

Let’s see how we can install and configure it in Mint 20 and the same instructions would work on Ubuntu 20.04 as well

Installing TvHeadend

Tv headend can be installed on Mint in any of the following ways:

  1. Using snap store
  2. Using Personal Package Archives (PPA)
  3. Using Tvheadend official repository

1. Using snap store

First, update your system and install snapd.

$ sudo apt update 
$ sudo apt install snapd -y

Install tvheadend using the following snap command:

$ sudo snap install tvheadend

2. Using personal package archives (PPA)

Add TVheadend package repository from PPA and update your system,

$ sudo add-apt-repository ppa:mamarley/tvheadend-git-stable
$ sudo apt-get update

Now, install tvheadend service using the following apt-get command:

$ sudo apt-get install tvheadend

3. Using Tvheadend official repository

First of all, install the required package, as follows:

$ sudo apt-get -y install coreutils wget apt-transport-https lsb-release ca-certificates

To download Tvheadend Repository PGP key, run:

$ sudo wget -qO- | sudo apt-key add -

Add TVheadend repository by using the following command:

$ sudo add-apt-repository 'deb focal main'

Since we have added a new repository to the APT sources, have to update APT manager first.

Run the following command on the terminal to update its repos.

$ sudo apt-get update

That’s all, you are ready to install TvHeadend now. Run the following command on your terminal window and it should initiate the installation process.

$ apt-get install tvheadend -y

During the installation, Tvheadend launches the configuration window, where you can set username and password to login and manage your TvHeadend instance. The very first step is to set the administrator username. Hit  “Ok” once done.

Set administrator username
Set administrator username

One next step, specify password for your admin user you created.  Hit  “Ok” when done.

Give administrator password
Give administrator password

Configuring Basic setting

You can access your TvHeadend after installation is successful, by using 'http://YOUR_SERVER_IP:9981' in the web browser. Following screen appears and click on cancel.

TVheadend first page
TVheadend first page

Tvheadend is easy to control and configure, once the installation is completed. It provides a web user interface that runs on an internal HTTP server. This internal HTTP server runs on TCP port 9981. Log in with your username and password you specified earlier in the configuration process.

Some recommended configurations to make after Tvheadend has been installed are:

1. Specify your TV adapter, under "Configuration" Tab, click "DVB Inputs" tab. You should be able to see option to specify your TV adapter from here. Choose your TV adapter from the drop-down list.

2. Configure your EPG, under "Configuration tab, click on “Channel/EPG” tab and then from “EPG Grabber” option , you can configure your EPG settings.

Configure your EPG
Configure your EPG

3. Digital Video Recorder settings should be changed to meet your preferences, from "Configuration" tab, click on "Recording" tab and then choose "Digital Video Recorder".

Digital Video Recorder settings
Digital Video Recorder settings


Tvheadend is a smart application where all channel data, recording, and streaming is successfully conducted over a single TCP connection. Its key feature is that it uses TCP ports for data communication without sacrificing speed.  It’s an open-source project and easy to configure.

Leave a Comment