Tvheadend – a TV streaming server and recorder for Linux

Tvheadend „all in one“ Anleitung basierend für Ubuntu 18.04 LTS

  • 1.)Installation Tvheadend mit Vaapi Hardware Transcoding (Intel ab Gen3)
  • 2.)Installation DVB Treiber Paket
  • 3.)Installation Channel Picons
  • 4.)Tvheadend Starten
  • 5.)Netzwerkzugriff der Aufnahmen über Samba

1.1

System aktuallisieren

sudo -s

apt-get update 

apt-get upgrade

apt-get dist-upgrade

reboot

1.2

Tvheadend installieren

sudo -s

cd /usr/src/

apt-get install build-essential git pkg-config libssl-dev bzip2 wget libavahi-client-dev zlib1g-dev libavcodec-dev libavutil-dev libavformat-dev libswscale-dev libavresample-dev vainfo libva-dev gettext cmake    libdvbcsa-dev libdvbcsa1


git clone https://github.com/DeBaschdi/tvheadend.git

cd tvheadend

./configure --enable-bundle --enable-ffmpeg_static --enable-libffmpeg_static --enable-libx264 --enable-libx265 --enable-vaapi --extra-libs=-lpthread

make -j4

make install

Anmerkung : Tvheadend wird aufgrund eins Bugs im Zusammenhang zwischen FFMPEG 4.1 und Tvheadend  vorerst nicht kompiliert werden können, aus diesem Grund habe ich das aktuelle GIT geclont, und FFMPEG auf 4.0 zurückgestuft. stand 06.02.2019 Build: 4.3-1750~ga8779b964

1.3

Tvheadend Startoptionen

Editor der Wahl benutzen, ich liebe „joe“

apt-get install joe

joe /lib/systemd/system/tvheadend.service

Folgendes einfügen und abspeichern :

[Unit]
Description=Tvheadend - a TV streaming server and DVR
After=syslog.target network.target auditd.service

[Service]
EnvironmentFile=/etc/default/tvheadend
ExecStart=/usr/local/bin/tvheadend -f -p /var/run/tvheadend.pid $OPTIONS
PIDFile=/var/run/tvheadend.pid
Type=forking
Restart=on-failure
RestartSec=54s

[Install]
WantedBy=multi-user.target

 

Environment anlegen :

joe /etc/default/tvheadend

Folgendes einfügen und abspeichern :

# Configuration file for the tvheadend service. 

OPTIONS="-c /var/spool/hts/config -u hts -g users -6 --http_port 9981 --htsp_port 9982 --http_root /tvheadend"

1.4

Verzeichnisse und User anlegen/ Rechte und Gruppen anpassen.

mkdir /var/spool/hts

adduser hts --system --no-create-home --disabled-password --disabled-login --ingroup users --home /var/spool/hts/

user hts, und alle benutzer in der gruppe „users“ berechtigen in /var/spool/hts schreiben zu dürfen.

chown -R hts:users /var/spool/hts/

chmod 770 /var/spool/hts/

Erklärung :

erste Ziffer steht für Benutzer, zweite für Gruppe, Dritte für alle anderen.

7 setzt rechte auf lesen+schreiben+ausführen.

Benutzer hts zur gruppe video hinzufügen (berechtigt für GPU nutzung/ transcoding)

usermod -aG video hts

Den eigenen benutzer zur gruppe users hinzufügen. (berechtigt deinen Benutzer auf erstellte Aufnahmen von hts)

usermod -aG users MeinUserName

2.1

DVB Treiber installieren

cd /usr/src/

git clone https://bitbucket.org/CrazyCat/media_build.git


cd media_build

apt-get install patchutils libproc-processtable-perl

./build

make install
depmod -a

2.2

Ubuntu daran hindern von alleine Updates einzuspielen

joe /etc/apt/apt.conf.d/20auto-upgrades

Folgenden inhalt anpassen :

APT::Periodic::Update-Package-Lists "0";
APT::Periodic::Unattended-Upgrade "1";

Anmerkung :

Der Grund dafür ist folgender :

Wir haben eben für unseren Kernel PASSEND die DVB Treiber kompiliert u. installiert.

Bei einem automatischen Kernelupdate würden diese nicht mehr funktionieren, müssten für den neuen Kernel neu übersetzt/kompiliert werden.


2.3

System neustarten um die neu kompilierten Kernelmodule zu laden.

reboot

3.1

Picons Installieren

sudo -s

cd /var/spool/hts

apt-get install curl

curl -L https://drive.google.com/uc?id={1nnA517CR7vHuxzim1z8W0ddRTrn_ea_M} >picons.tar.gz
tar -xvf picons.tar.gz
rm picons.tar.gz

Anmerkung : Die Picons sind von mir selbst erstellt! Astra+Hotbird

User hts erlauben auf picons zuzugreifen :

chown -R hts:users /var/spool/hts/picons-neu/*

chmod 770 /var/spool/hts/picons-neu/*

4.1

Tvheadend Starten

Tvheadend einmal aus der Konsole heraus starten.

/usr/local/bin/tvheadend -p /var/run/tvheadend.pid -C -c /var/spool/hts/config -u hts -g users -6 --http_port 9981 --htsp_port 9982 --http_root /tvheadend

Tvheadend läft nun unter http://deine-server-ip:9981/tvheadend

Mit z.b Firefox öffnen und admin user/passwort vergeben, wizzard durchlaufen, abspeichern.

Wenn fertig, Tvheadend aus der Konsole mit Strg+C beenden.

4.2

Tvheadend Autostart aktivieren.

systemctl daemon-reload
systemctl enable tvheadend.service

System Neustarten

reboot

4.3

Tvheadend sollte jetzt von alleine gestartet sein,

mit Firefox http://deine-server-ip:9981/tvheadend aufrufen, als admin anmelden.

konfiguration/allgemein“

-Defaut View auf Expert stellenchannel icon/picon Settings“

Prefer picons over channel icons: „haken“

Kanallogo Pfad: „leer lassen“

Kanallogo Namensschema : „Servicename Picon“

Picon-Pfad: „file:///var/spool/hts/picons-neu“

Picon Namensschema: „Setze den Typ des Dienstes auf 1“

SPEICHERN

4.4

Aufnahme Verzeichnis anlegen, Rechte anpassen

sudo -s

mkdir /mein/aufnahme/pfad

chown -R users:MeinUserName /mein/aufnahme/pfad

chmod 770 /mein/aufnahme/pfad

4.4.1

DVR Konfiguration anpassen

mit Firefox http://deine-server-ip:9981/tvheadend aufrufen, als Admin anmelden.

konfiguration/Aufnahme“ auswählen,

Standard Profil auswählen,

unter filesystem settings :

Speicherpfad : /mein/aufnahme/pfad

Verzeichniss Rechte Oktal : 0770

Datei Rechte Oktal : 0770

Anmerkung :

So ist sichergestellt das Tvheadend, sobald es neue Verzeichnisse/ Dateien erstellt diese mit der 770 berechtigung erstellt werden. Benutzer hts lesen+schreiben+x alle Mitglieder der Gruppe „users“ lesen+schreiben+x und alle anderen benutzer/nicht Gruppen-mitglieder GARNIX.

5.1

Samba installieren

apt-get install samba

 

Samba Benutzer anlegen

smbpasswd -a DeinBenutzerName

 

Samba Konfiguration erstellen

mv /etc/samba/smb.conf /etc/samba/smb.conf-orginal

joe /etc/samba/smb.conf

 

Folgendes einfügen, anpassen

[global]
client max protocol = NT1
netbios name = DeinServerNameImNetzwerk
workgroup = WORKGROUP
browse list = yes
name resolve order = bcast host wins
case sensitive = no
security = user
map to guest = bad user
invalid users = root
domain master = no
preferred master = yes
local master = yes
wins support = yes
wins proxy = yes
os level = 3
dns proxy = no
auto services = global
log file = /var/log/samba/log.%m
max log size = 1000
panic action = /usr/share/samba/panic-action %d
server role = standalone server
passdb backend = tdbsam
obey pam restrictions = no
guest ok = yes
public = yes
browseable = yes
lm announce = yes
auto services = yes


[Aufnahmen]
comment = HTS Recordings
force group = users
force user = hts
inherit acls = Yes
path = /mein/aufnahme/pfad
read only = No
valid users = DeinErstellterSambaBenutzer
create mode = 0770
force create mode = 0770
create mask = 0770
directory mask = 0770

+ abspeichen

 

Samba Autostart aktivieren + starten

systemctl enable smbd.service

systemctl enable nmbd.service

systemctl restart smb.service

systemctl restart nmb.service 

Fertig !

Dir gefällt unser Beitrag?

Dann unterstütze unsere Serverinfrastruktur verbunden mit dessen Nebenkosten.

Forumsdiskussionen zum Beitrag https://takealug.de/wordpress/community/tvheadend/anleitung-zu-tvheadend/#post-3

 

 

Weiter geht es hier mit Teil 2.1 OSCam

Weiter geht es hier mit Teil 2.2 WebGrab+

 

 

 



Tags:
Kategorie:

Schreibe einen Kommentar

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