tvheadend (1) - Linux Manuals

tvheadend: Advanced TV streaming server/relay


tvheadend  - Advanced TV streaming server/relay


tvheadend [OPTIONS]


Tvheadend is a streaming server/relay supporing a variety of sources and multiple output formats. It is primarily inteded to be used in together with the Showtime Media player.


All arguments are optional.
-v, --version
Show version information.
-h, --help
Show built-in help information (may be more up to date).
-c, --config
Specify an alternate config path; the default is ${HOME}/.hts
Fork and become a background process (deamon). Default no.
-u username, --user username
Run as user username. Only applicable if daemonizing. Default is to use the uid of 1 (daemon on most systems).
-g groupname, --group groupname
Run as group groupname. Only applicable if daemonizing. Default is to use the 'video' group. If the 'video' group does not exist, gid 1 (daemon) will be used.
-p pidpath, --pid pidpath
Specify alternative PID path file (default /var/run/
-C, --firstrun
If no useraccount exist then create one with no username and no password. Use with care as it will allow world-wide administrative access to your Tvheadend installation until you edit the access-control from within the Tvheadend UI.
-a, --adapters
Only use specified DVB adapters (comma separated).
-6, --ipv6
Listen on IPv6.
-b address, --bindaddr address
Specify an interface IP address on which incoming HTTP and HTSP connections will be accepted. By default, connections are accepted on all interfaces.
Specify alternative http port (default 9881).
Specify alternative http webroot.
Specify alternative htsp port (default 9882).
Specify extra htsp port.
-d, --debug
Enable all debug.
-s, --syslog
Enable debug to syslog.
Enable web UI debug.
-l, --log
Log to file.
-A, --abort
Immediately abort on startup (for debug).
Do not perform any access control checking.
-R, --dvbraw
Use rawts file to create virtual adapter.
-r, --rawts
Use rawts file to generate virtual services.
-j, --join
Subscribe to a service permanently.


All activity inside tvheadend is logged to syslog using log facility LOG_DAEMON.


Access to video adapters

In order for Tvheadend to control the video adapters on the system it must be granted access to those devices. Most systems have a 'video' group with write access to the video adapter devices. When Tvheadend is started as a daemon it will automatcially change its primary group to 'video' in order to access these groups. If your system is configured in a different way you can either change the group membership of the video adapters (/dev/dvb, etc) or reconfigure the Tvheadend startup parameters. This is most likely the behaviour if you have installed Tvheadend from a distribution package.

If Tvheadend is started without the '-f' argument it will not daemonize nor change its primary userid/groupid. Rather it will run with the permissions granted to the user executing the binary. If that's the case you must make sure the current user is granted with access to the video devices.


All configuration in Tvheadend is maintained via its embedded web server running on port 9981. Just point your browser to:


By default everyone (also from remote hosts) is allowed full access to all features / settings in the web user interface. If this is the first time you setup Tvheadend you are most encouraged to enter the web user interface, selected the 'Configuration' + 'Access Control' tab and make reasonable changes. Futher help / documentationcan be obtained inside the web interface.


Settings are stored in the current users home directory. Thus, if Tvheadend is run as a system daemon a dedicated user needs to be created and Tvheadend should be launched with the '-u' argument. Also notice that XMLTV will read store cache and configuration from the user home directory.

If daemonizing, tvheadend will writes it pid in /var/run/


Tvheadend and this man page is maintained by Andreas Oeman

(andreas a tvheadend d org)

You may also visit #hts at