Tvheadend is a TV streaming server and PVR backend for DVB, IPTV and other tuner sources, with transcoding support via FFmpeg.ppa:dersobi/tvheadend packages Tvheadend straight from upstream’s master branch (there has been no tagged release since v4.3 in 2017, so this PPA tracks a specific,tested commit rather than a version tag) and links it against ppa:dersobi/ffmpeg9 instead of Ubuntu’s stock, older FFmpeg.
That gives you a Tvheadend build with a current transcoding engine, hardware encodingvia NVENC, and libfdk-aac audio encoding enabled.
Requirements
- Ubuntu 22.04 (Jammy), 24.04 (Noble) or 26.04 (Resolute) – amd64
software-properties-common(providesadd-apt-repository)ppa:dersobi/ffmpeg9must also be enabled. This package’s binaries depend on library names such aslibavcodec63andlibavutil61, which only exist in the FFmpeg 9 PPA — installingtvheadendfrom this PPA without also enablingppa:dersobi/ffmpeg9will fail to resolve dependencies.- An NVIDIA GPU with current drivers, only if you intend to use NVENC hardware encoding profiles — Tvheadend itself installs and runs without one.
Installation
- Add both PPAs (FFmpeg 9 first, since Tvheadend depends on it):
sudo add-apt-repository ppa:dersobi/ffmpeg9 sudo add-apt-repository ppa:dersobi/tvheadend sudo apt update
- Install Tvheadend:
sudo apt install tvheadend
The installer prompts for a Tvheadend administrator username and password. - Confirm the packages resolved against FFmpeg 9, not a stock build:
dpkg -l | grep libavcodec
You should see alibavcodec63(or newer, matching the FFmpeg 9 PPA) package, not Ubuntu’s own olderlibavcodecversion. - Open the web interface:
http://<server-ip>:9981/
Notes
- Versions in this PPA are named after the exact upstream commit they were built from, for example
4.3.0~pre+20260911~git06899e3-0build1~ubuntu24.04— the date and short Git SHA identify precisely which upstream snapshot is packaged, since there is no upstream version tag to reference. - Because this build tracks upstream
master, updates are prepared and tested manually againstppa:dersobi/ffmpeg9‘s current headers before being uploaded, rather than pushed automatically — this avoids shipping a build broken by an unrelated upstream API change. - If the machine also has Ubuntu Pro / ESM enabled, the same APT pinning described on the FFmpeg 9 PPA page applies here too, using
o=LP-PPA-dersobi-tvheadendin the pin file’s origin match.