tvheadend: added to wiki with setup and fritzbox guide

master
tiyn 2 years ago
parent 029b1ef56c
commit 6126a61ced

@ -0,0 +1,72 @@
# linuxserver - tvheadend
This is a docker container for a [TVHeadend](../tvheadend.md)
server.
The official container and documentation was made by
[linuxserver](https://hub.docker.com/r/linuxserver/tvheadend).
## Set-up
Create the files `rebuild.sh` and `docker-compose.yml` at the same place.
Change the settings according to your needs and run `./rebuild.sh` afterwards.
## Environment-variables
Set the following environment-variables in the `environment:` section of the
docker-compose file.
| Name | Usage | Default |
| --------------------- | --------------------------- | ----------------------- |
| `PUID` | user id for container user | `1000` |
| `PGID` | group id for container user | `1000` |
| `TZ` | specify the timezone | `Europe/London` |
| `RUN_OPTS` | specify the timezone | ` ` |
## Volumes
Set the following volumes in the `volumes:` section of the docker-compose file.
| Outside mount/volume name | Container mount | Description |
| ------------------------- | --------------- | --------------------------------- |
| `config` | `/config` | directory for config |
| `tvdvr` | `/recordings` | directory for storage |
## Ports
Set the following ports in the `ports:` section.
| Container Port | Recommended outside port | Protocol | Description |
| -------------- | ------------------------ | -------- | ------------ |
| `9981` | ` ` | TCP | webUI |
| `9982` | ` ` | TCP | HTSP port |
## rebuild.sh
```sh
#!/bin/sh
docker-compose down
docker pull lscr.io/linuxserver/tvheadend:latest
docker-compose up -d
```
## docker-compose.yml
```yml
version: "2.1"
services:
tvheadend:
image: lscr.io/linuxserver/tvheadend:latest
environment:
- PUID=1000
- PGID=1000
- TZ=Europe/London
volumes:
- config:/config
- tvdvr:/recordings
network_mode: "host"
restart: unless-stopped
volumes:
config:
tvdvr:
```

@ -52,7 +52,6 @@ docker-compose up -d
## docker-compose.yml
```yml
services:
synapse:
image: "matrixdotorg/synapse:latest"

@ -15,3 +15,28 @@ You can add IP-TV under `Live TV` in the administration panel.
To include a m3u IP-TV stream just put the file on the server or copy its URL
and add it under `Live TV`.
After that make sure to setup `DVR` to your liking to record.
## Connect TVHeadend
This section explains the steps neccessary to make [TVHeadend](./tvheadend.md)
work with a jellyfin server according to the
[official documentation](https://jellyfin.org/docs/general/server/plugins/tvheadend/).
In the admin dashboard install the
[TVHeadend plugin](https://jellyfin.org/docs/general/server/plugins/tvheadend/)
and restart the server.
Afterwards create a user with a username in TVHeadend under
`Go to Configuration > Users > Access Entries > Add`.
Check the parameters
`Rights`, `Channel number range`, `Channel tags`, `DVR configurations`,
`Streaming profiles` and `Connection limits`.
Check `Enabled` and `Web Interface`.
Select `Basic`, `Advanced` and `HTSP` under `Streaming` and `Basic`, `HTSP` and
`View all` under `Video recorder`.
Save the user.
Create a password via `Configuration > Users > Passwords > Add`.
Check `Enabled`, select the according `Username` and fill in the `Password`.
Afterwards save.
Now in Jellyfin under `Go to Dashboard > Plugins > TVHeadend > Settings` set
the `TVHeadend Hostname or IP Address`, the `HTTP Port` and `HTSP Port`, the
`Username` and the `Password` set in the previous step.

@ -0,0 +1,34 @@
# Netplan
[Netplan](https://netplan.io) is a utility for configuring the networking of a
linux system via YAML files.
## Add more IP addresses to a system
In the file `/etc/netplan/50-cloud-init.yaml` create an `addresses:` section
for a device (for example an ethernet device) and list the IP addresses you
want to add to the system to it.
It has to be noted, that the added addresses should be outside of the DHCP
range of your router.
An example file will look something like the following lines.
In this case 4 addresses were added.
`192.168.178.18/24` is the IP assigned by the DHCP server.
It has to be noted that this is a special case as the DHCP server assigns this
address always to the system.
```txt
network:
ethernets:
ens18:
dhcp4: true
addresses:
- 192.168.178.18/24
- 192.168.178.201/24
- 192.168.178.202/24
- 192.168.178.203/24
- 192.168.178.204/24
version: 2
```
Afterwards netplan has to be restarted by running `sudo netplan apply`.
The addresses then are assigned to the system.

@ -0,0 +1,52 @@
# TVHeadend
[TVHeadend](https://tvheadend.org/) is a server application that forwards video
streams to internet streams.
It supports multiple dvb tuners and tuner sticks aswell as Sat>IP tuners.
It also has the ability to record programs like a digital video recorder.
TVHeadend is compatible with [jellyfin](./jellyfin.md#connect-tvheadend) with
the help of a plugin.
## Setup
The software can be setup via docker with the
[linuxserver image](./docker-images/linuxserver_-_tvheadend.md).
### Fritzbox
Using a Fritzbox as the router the build in SAT>IP tuner can be used.
For this `--satip_xml http://192.168.178.1:49000/satipdesc.xml` needs to be
added as a run option with the IP address matching the one of your Fritzbox.
For multiple tuners to work the hosting system has to have multiple IP addresses
as only one address can be bound to one tuner at the time.
Setting up a linux system with additional IP addresses is described in
[the netplan entry](./linux/netplan.md#add-more-ip-addresses-to-a-system).
The still needed setup is equal to the [setup for DVB-C Tuners](#dvb-c).
### DVB-C
In TVHeadend navigate to `Configuration > DBV Inputs > TV adapters`.
Create a Network, select `Enabled`, set your `Network name`, select one of the
`Pre-defined muxes` according to your location and internet provider.
Set `Network discovery` to `New muxes + changed muxes` and uncheck
`Skip startup scan`.
Then click `Save`.
In TVHeadend navigate to `Configuration > DBV Inputs > TV adapters`.
There are the tuners connected to your system.
Select them one-by-one, check `Enabled`, select your just set up network in
`Networks` aswell as `DVB-C` as the network type.
Set `Next tune delay in ms (0-2000)` to `200` and select `On` for
`Pass specinv`.
Then put in one of the IP addresses added to your system in the previous step
under `Tuner bind IP address`.
Then click `Save`.
After these steps a list of Muxes should appear in
`Configuration > DBV Inputs > Muxes` and some of them should turn to `OK` under
`Scan Result`.
Following this a list of TV and radio channels should appear in
`Configuration > DBV Inputs > Services`.
After this the setup is completed.
Loading…
Cancel
Save