tvheadend is a free, open source media & streaming project written in C and released under GPL-3.0. It has 3,521 GitHub stars, 975 forks and 107 open issues, and was last pushed 4 days ago. On this registry it ranks #11 of 27 tracked projects in Media & Streaming, with 5 head-to-head comparisons available. It gained 1 stars over the last 3 tracked days.

What is tvheadend?

What it is

Tvheadend is an open-source TV streaming server and digital video recorder for Linux. It lives in the Linux media and streaming ecosystem, and it is written in C under the GPL-3.0 license. The project provides a server that can receive television signals and streams from many input types, then make those channels available over the network.

The concrete problem it solves is the need to turn local tuner hardware, network streams, and pipe-based sources into a single TV service that can be watched, browsed, and recorded. Instead of leaving each input source behind a separate interface, Tvheadend supports ATSC, DVB-C/C2, DVB-S/S2, DVB-T/T2, HDHomeRun, IPTV, UDP, HTTP, SAT>IP, and Unix pipe inputs. It also supports HTSP, HTTP, and SAT>IP outputs, and its topics include EPG and DVR.

Key capabilities

  • Tvheadend acts as a TV streaming server and DVR, with topics for EPG and DVR.
  • It accepts broadcast inputs such as ATSC, DVB-C/C2, DVB-S/S2, and DVB-T/T2.
  • It accepts network and pipe inputs such as HDHomeRun, IPTV, UDP, HTTP, SAT>IP, and Unix pipe.
  • It provides output protocols including HTSP, HTTP, and SAT>IP.
  • It is built from source with ./configure, make, and ./build.linux/tvheadend.
  • Settings are stored in $HOME/.hts/tvheadend.
  • Docker deployment is available with the image ghcr.io/tvheadend/tvheadend:latest.

Who uses it and how

  • Operators with Linux tuner hardware use it to expose DVB or ATSC channels over HTTP or HTSP.
  • IPTV users use it to combine UDP, HTTP, SAT>IP, and Unix pipe sources into one service.
  • Recording users rely on its DVR and EPG topics to record and browse television content.
  • Docker users run the ghcr.io/tvheadend/tvheadend:latest image on a Linux host.
  • Users can seek support through the forum at https://tvheadend.org or the #hts IRC channel on Libera.Chat.

Getting started

Build from source by running ./configure, make, and ./build.linux/tvheadend, install it with sudo make install, or run the Docker image ghcr.io/tvheadend/tvheadend:latest. Consult the documentation at https://docs.tvheadend.org for distribution-specific installation steps.

When to use it — and when not to

Tvheadend fits self-hosted Linux deployments where the user controls tuner hardware, network stream sources, or pipe-based inputs. It is less suitable when a managed hosted option is required, because the README mentions no hosted service. The self-hoster must operate the Linux server, provide input sources, maintain settings in $HOME/.hts/tvheadend, and handle source builds or Docker deployment, while the repository lists 107 open issues.

project readme (upstream, from github) — read inline

Build Status Coverity Scan Github last commit

Releases License GitHub Activity

Hosted By: Cloudsmith

Tvheadend

Tvheadend is the leading TV streaming server and Digital Video Recorder for Linux.

tvheadend front page

It supports the following inputs:

  • ATSC
  • DVB-C(2)
  • DVB-S(2)
  • DVB-T(2)
  • HDHomeRun
  • IPTV
    • UDP
    • HTTP
  • SAT>IP
  • Unix Pipe

It supports the following outputs:

  • HTSP (native protocol)
  • HTTP
  • SAT>IP

Documentation

Tvheadend documentation can be found here: https://docs.tvheadend.org.

Support

Please triage issues and ask questions in the forum: https://tvheadend.org or use the #hts IRC channel on Libera.Chat to speak with project staff: https://web.libera.chat/#hts.

Please report triaged bugs via GitHub Issues.

Building for Linux

First you need to configure:

$ ./configure

If build dependencies are missing the configure script will complain or attempt to disable optional features.

To build the binary:

$ make

After compiling the Tvheadend binary is in the build.linux directory.

To run the Tvheadend binary:

$ ./build.linux/tvheadend

Settings are stored in $HOME/.hts/tvheadend.

To install the newly compiled Tvheadend binary and associated files onto your system:

$ sudo make install

Running on Linux

Instructions for popular distributions are in our public documentation.

Running in Docker

Running in Docker can be as simple as:

$ docker run --rm ghcr.io/tvheadend/tvheadend:latest

See README.Docker.md for more details.

Frequently asked questions

Is tvheadend free to use?

tvheadend is open source under the GPL-3.0 licence. There is no licence fee and no seat count — you can self-host it or, where the project offers one, pay a vendor for a managed version instead.

What does tvheadend do?

Tvheadend is the leading TV streaming server for Linux with ATSC, DVB-C/C2, DVB-S/S2, DVB-T/T2, IPTV, SAT>IP and unix pipe input sources

What is tvheadend written in?

tvheadend is primarily written in C. Its source is publicly available at https://github.com/tvheadend/tvheadend, and it has 3,521 GitHub stars.