TvHeadEnd – IPTV, Kabel, SatTV und EPG

Von | Januar 4, 2024
TVheadend
TVheadend

Tvheadend ist ein TV Streaming Server und Recorder für Linux. Tvheadend unterstützt DVB-S, DVB-S2, DVB-C, DVB-T, ATSC, ISDB-T, IPTV, SAT> IP und HDHomeRun als Eingangsquellen. Mit Tvheadend haben Sie Streaming TV Quelle für verschiedene Geräte (TV, Tablett, PC, etc) im Heimnetzwerk und was ist sehr wichtig zu nennen: Sie dürfen verschiedene Eingangsquellen benutzen oder kombinieren zum Beispiel Kabel TV und IPTV, Sat TV und IPTV, etc. Tvheadend besitzt auch Recorder und EPG Funktion, EPG Daten können Sie gleichzeitig auch aus verschiedenen EPG Quellen beziehen. Welche Kriterien müssen wir noch erfüllen:

  • Hardware darf nicht teuer sein und Verbrauch muss wegen 24/7 Betrieb unter 5 W liegen.
  • Installation und Bedienung von Tvheadend muss leicht verständlich sein.

Da bietet sich uns Raspberry Pi an, Vier-Kern Prozessor (4×1,4 GHz), 1GB RAM, Verbrauch unter 5W bei Volllast und z.B. als Digital Kombi- Tuner USB Stick DVBSky T330, Netzteil mit 5V/2,5 A inkl. Gehäuse für Raspberry Pi, SD Karte mit min. 16 GB. Gesamtkosten für TV Server Hardware liegen knapp unter 100 €. Wenn Sie sich Rekorder Funktion wünschen, dann am besten Raspberry Pi mit eine SSD Festlatte ausstatten, sehr geringe Verbrauch und deswegen kann direkt an USB Port von Raspberry Pi angeschlossen werden.

Tvheadend Installation

  • Zuerst müssen wir OS für Raspberry Pi installieren. Downloaden von raspberrypi.org als zip Archive, entpacken und dann mit Wi32 Disk Imager auf SD Karte schreiben. Linux Benutzer können Etcher benutzen.
  • Mit Editor z.B. Notepad ++ leere Datei erstellen und als „ssh.txt“ auf boot Partition von SD Karte speichern. Raspberry Pi starten und mit z.B. Putty per SSH (Port 22) Verbindung mit Raspberry Pi (User: pi, Password: raspberry) aufnehmen.
  • Mit „sudo raspi-config“ Konfiguration von OS Raspbian starten. 

Raspbian Konfiguration:

  • Benutzer Password ändern. Menüpunkt Nr. 1
  • Network Option: Hostname, Wifi. Menüpunkt Nr. 2
  • Sprache (de_DE UTF-8) und Zeitzone (Europe/Berlin) einstellen. Menüpunkt Nr. 3
  • Filesystem expandieren. Menüpunkt Nr. 7
  • Neu starten
  • Mit „sudo apt-get update“ Update starten
  • Mit „sudo apt-get upgrade“ Upgrade starten
  • Tvheadend installieren (siehe unten)
echo "deb https://dl.bintray.com/tvheadend/deb xenial stable-4.2" | sudo tee /etc/apt/sources.list.d/tvheadend.list
sudo apt-get update 
sudo apt-get install tvheadend

So ist TV Server installiert und startbereit, erreichbar unter:  http://Raspberry IP:9981. USB Tuner Anbindung mit „lsusb“ prüfen, wenn USB Tuner erkannt wurde (Treiber vorhanden) dann mit TVheadend Konfiguration weiter gehen. Wenn USB Tuner nicht erkannt wurde, dann unter LinuxTV passende Hardware bzw. Treiber aussuchen und unter: /lib/firmware auf Raspberry Pi hochladen. Raspberry Pi neustarten mit sudo reboot.

Tvheadend Konfiguration:

  • Configuration > General > Language > German
  • Configuration > General > Time Update > Update Time markieren
  • Configuration > General > Time Update > Enable NTP Driver, Update tolerance 5000 ms.
  • Configuration > DVB Inputs > Networks > DVB-T, DVB-S, etc. > +Add
  • Reiter Network > Name > etc. > + Create
  • Configuration > DVB Inputs > TV Adapters > Adapter auswählen
  • Configuration > DVB Inputs > Muxes > auswählen
  • Configuration > DVB Inputs > Services > Map all
  • Configuration > Channel / EPG > Channels > auswählen > Save
  • Configuration > Access Entries > +Add

Soll die USB-Festplatte nun bei jedem Start des Raspberry Pi automatisch eingebunden werden, können wir dies mit einen Eintrag in „fstab“ erledigen, wozu wir die zuvor ausgelesene UUID benötigen. Je nach Dateisystem muss man eine der folgenden Zeilen am Ende der Datei „/etc/fstab“ eintragen. Mit „sudo blkid“ finden wir alle UUID heraus.

# Erstellen wir zuerst Verzeichnis usbdrive
sudo mkdir /media/usbdrive

Mit „sudo nano /etc/fstab“ bearbeiten wir „fstab“ Datei und abhängig von Festplatte Formatierung tragen wir folgendes ein:

  • FAT32 Formatierung > UUID=37414-80CE /media/usbdrive/ vfat utf8,uid=pi,gid=pi,noatime 0
  • NTFS Formatierung > UUID=37414-80CE /media/usbdrive/ ntfs-3g utf8,uid=pi,gid=pi,noatime 0
  • ext4 Formatierung > UUID=37414-80CE /media/usbdrive/ ext4 defaults 0
  • Gelb markiert – UUID von eigene USB Stick oder Festplatte eintragen.
  • USB-Medium ist in unseren Raspberry Pi eingebunden und kann automatisch beim Start des Mini-Computers mounten. Jetzt können wir Recorder von Tvheadend konfigurieren: Configuration > Recording >Digital Video Recorder Profiles > Recording System Path: /media/usbdrive

Installation von IPTV und EPG

IPTV installieren Sie mit Hilfe von m3u Liste. Tvheadend akzeptiert nur Links mit Endung ts oder Transport Stream. Vorgehensweise ist gleich wie beim USB Tuner Installation (Configuration > DVB Inputs > Networks > IPTV Networks) danach m3u Liste (auch als http:// Link) eintragen, TV Server prüft die Links und trägt die Mux (Multiplexverfahren) ein. Wie Sie sehen Tvheadend hat die Möglichkeit verschiedene Quellen zu mischen und Sie wählen Lieblings TV Sender heraus. 

Für EPG Daten Herstellung benutzen wir WebGrab+Plus, Programm ermöglicht uns Auswahl verschiedenen EPG Quellen aus mehr als 80 Ländern. Installation ist genau an Raspberry Pi optimiert.

sudo apt-get update
sudo apt-get upgrade
sudo apt-get remove --purge mono-*
sudo apt-get install mono-complete
cd /home/pi
sudo wget http://www.webgrabplus.com/sites/default/files/download/SW/
V2.1.0/WebGrabPlus_V3.1_install.tar.gz
tar -zxvf WebGrabPlus_V3.1_install.tar.gz
cd ~/.wg++
sudo ./install.sh
#### Grabber starten wir mit Befehl ./run.sh ####

Jetzt ist Installation von Webgrabber fertig, Tvheadend müssen wir nur mitteilen wo sie die fertige EPG Datei befindet. Zuerst laden wir Grab Modul für Tvheadend von WebGrab+Plus.

sudo wget -O /usr/bin/tv_grab_wg++ 
http://www.webgrabplus.com/sites/default/files/tv_grab_wg.txt
sudo chmod +x /usr/bin/tv_grab_wg++

Starten wir Tvheadend neu mit sudo service tvheadend restart und unter Einstellungen > Global > EPG wählen wir neu internal Grabber XMLTV: tv_grab_wg++ aus. Regelmäßige herstellen von EPG Datei ermöglicht uns Cronsudo crontab -e und tragen wir z.B. 15 2 * * * /home/pi/.wg++/run.sh. Crontab Guru kann helfen gewünschte Zeiten zu erstellen.  Was ist uns noch geblieben ist Bearbeitung von WebGrab+Plus Config Datei unter /home/pi/.wg++/WebGrab++.config.xml

TVheadend EPG
WebGrab+Plus Konfiguration
  • Wie Sie oben in Bild sehen, sind nur ein paar Eintragungen nötig:
  • Ordner wo sich guide.xml befindet /home/pi/.wg++/guide.xml
  • postprocess grab=“y“ > Grab Funktion aktiv, dann run=“n“  mdb, holen Zusatzinformationen von imdb.com, verlangsamt Grab- Prozess sehr. Unten dann tragen wir gewünschten TV Sender ein. Senderlisten von verschiedenen EPG Quellen finden Sie unter WebGrab+Plus EPG Channels sortiert nach Land und Quelle. Land und Quelle auswählen, Kanalliste herunterladen (xml), mit Text- Editor gewünschte Kanäle markieren und kopieren in WebGrab++.config.xml
Webgrab+Plus EPG Daten
WebGrab+Plus Senderquellen

Wenn holen von EPG Daten funktioniert dann ist Recording Funktion auch aktiv und einsatzbereit. Am Ende ist noch nennenswert zu erwähnen die Tvheadend Android (TVHClient) und iOS Apps (TvhClient). Die Apps ermöglichen Steuerung von Tvheadend, Play | Aufnahme Funktion für Android und Apple Geräte, zum Beispiel Sie sind unterwegs und wollen Sie nicht Lieblings Serie oder Fußballspiel verpassen, dann einfach mit Tvheadend aufnehmen.

(Visited 4.932 times, 1 visits today)

2 Gedanken zu „TvHeadEnd – IPTV, Kabel, SatTV und EPG

  1. Alexander Wlachos

    Danke für das Tutorial, komme nur beim EPG nicht weiter. XMLTV: /usr/bin/tv_grab_wg++ verlangt als Pfad /usr/bin/tv_grab_wg++ für die guide.xml Datei, in WebGrab++.config.xml wird aber auf /home/pi/.wg++/ verwiesen. Verweise ich darin auf /usr/bin/tv_grab_wg++, kann die Datei dort nicht angelegt werden.

Schreiben Sie einen Kommentar

Ihre E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert