tvheadend(1)

NAME
Tvheadend - Advanced TV streaming server/relay and personal video recorder.

SYNOPSIS
tvheadend [OPTIONS]

DESCRIPTION
Tvheadend is a streaming server/relay supporting a variety of sources and multiple output formats. It can be used as a standalone PVR or in conjunction with media players such as Movian (Showtime), Kodi (XBMC), VLC and others.

OPTIONS
All arguments are optional.

Generic Options

-v, --version
    Show version information.

-h, --help
    Show built-in help information (may be more up to date).

Service Configuration Options

-c, --config
    Specify an alternative config path; the default is ${HOME}/.hts/tvheadend

-B, --nobackup
    Don't backup configuration tree at upgrade.

-f  Fork and become a background process (daemon). Default is 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 /run/tvheadend.pid).

-C, --firstrun
    If no user account 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.

-U, --dbus
    Enable DBus.

-e, --dbus_session
    DBus - use the session message bus instead of the system one.

-a, --adapters
    Only use specified DVB adapters (comma separated, -1 == none).

--satip_rtsp
    SAT>IP RTSP port number for server (default: -1 = disable, 0 = webconfig, standard port is 554).

--nosatipcli
    Disable SAT>IP client.

--satip_xml
    URL with the SAT>IP server XML location.

Server Connectivity

-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.

--http_port
    Specify alternative http port (default 9981).

--http_root
    Specify alternative http webroot.

--htsp_port
    Specify alternative HTSP port (default 9982).

--htsp_port2
    Specify extra HTSP port.

--useragent
    Specify User-Agent header for the http client.

--xspf
    Use XSPF playlist instead of M3U.

Debug options

-d, --stderr
    Enable debug on stderr.

-n, --nostderr
    Disable debug on stderr.

-s, --syslog
    Enable debug to syslog.

-S, --nosyslog
    Disable syslog (all messages).

-l, --logfile
    Enable debug to file.

--debug
    Enable debug subsystems.

--trace
    Enable trace subsystems.

--fileline
    Add file and line numbers to debug.

--threadid
    Add the thread ID to debug.

--libav
    More verbose libav log.

--uidebug
    Enable web UI debug (non-minified JavaScript).

-A, --abort
    Immediately abort on startup (for debug).

-D, --dump
    Enable coredumps for daemon.

--noacl
    Do not perform any access control checking.

--nobat
    Disable DVB bouquets.

-j, --join
    Subscribe to a service permanently.

Testing Options

--tsfile_tuners
    Specify number of tsfile tuners.

--tsfile
    Use ts file (mux file) as input.

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

SETUP

  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 automatically 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 behavior if you have installed Tvheadend from a distribution package.

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

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

   http://hostname:9981/

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're setting up Tvheadend, you are strongly encouraged to enter the web user interface, selected the 'Configuration' + 'Access Control' tab and make reasonable changes. Further help and documentation can be obtained inside the web interface.

  Settings
Settings are stored in the current user's 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 same user home directory.

If daemonizing, Tvheadend will writes its pid in /run/tvheadend.pid

AUTHOR
Tvheadend and this man page is maintained by the Tvheadend team. Please see the application for credits.

You may also visit #hts at libera.chat

COPYRIGHT
2006 - 2024 Andreas Smas, et al.

Licensed under GPLv3 <https://www.gnu.org/licenses/gpl-3.0.txt>. This is free software: you are free to change and redistribute it subject to the provisions of the license above. There is NO WARRANTY, to the extent permitted by law.

SEE ALSO
https://tvheadend.org