tvheadend(1)

πŸ“¦
version 4.3_git20260214 Β· 2 versions
, in alpine 3.24

πŸ’– tvheadend(1) πŸ’–

Okay so this is the General Commands Manual page for tvheadend, and it's literally iconic. Let me walk you through it, bestie. No cap, every single detail is here. ✨


πŸ¦‹ NAME πŸ¦‹

Tvheadend β€” advanced TV streaming server/relay and personal video recorder. Like, it does both. Multitasking queen. πŸ’…


✨ SYNOPSIS ✨

tvheadend [OPTIONS]

🌸 DESCRIPTION 🌸

Okay so Tvheadend is a streaming server/relay supporting a variety of sources and multiple output formats. It can be used as a standalone PVR (personal video recorder, iykyk) or in conjunction with media players such as Movian (Showtime), Kodi (XBMC), VLC and others. Obsessed, honestly. πŸ”₯


πŸ’… OPTIONS πŸ’…

All arguments are optional β€” no pressure, bestie. Every single one of them.

Generic Options

  • -v, --version β€” show version information. Slay.
  • -h, --help β€” show built-in help information (may be more up to date). Iconic.

Service Configuration Options

  • -c, --config β€” specify an alternative config path; the default is ${HOME}/.hts/tvheadend. Main character energy.
  • -B, --nobackup β€” don't backup configuration tree at upgrade. Live dangerously, I guess.
  • -f β€” fork and become a background process (daemon). Default is no. Like, it's not gonna do it unless you ask.
  • -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. Like, please be careful, bestie.
  • -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. Periodt.


πŸŽ€ SETUP πŸŽ€

πŸ¦‹ Access to video adapters πŸ¦‹

Okay so listen β€” 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. No cap.

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. Basically, do what works for your setup. πŸ’…

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. Like, actually check this. πŸ‘‘

🌈 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, select the 'Configuration' + 'Access Control' tab and make reasonable changes. Further help and documentation can be obtained inside the web interface. Please do this, bestie β€” it's for your own good. 🫢

⭐ 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. (Yes, it says "writes" β€” grammar is not the vibe but the facts are.)


πŸ’œ 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. Come say hi! 🌸


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. Like, none. Zero. Nada. 😭


🌸 SEE ALSO 🌸

https://tvheadend.org


Okay that's literally everything, bestie. This is tvheadend(1) from the General Commands Manual, with copyright 2006 - 2024. Go stream something iconic. πŸ’–βœ¨πŸŽ€

πŸ“¦ where this page comes from