Nachdem es in den letzten Wochen Probleme mit bintray und doozer gab, konnte von der tvheadend Webseite keine offiziellen Repos installiert werden. Also konnte weder TVH installiert noch upgedated werden. Seit gestern geht es wieder - eingeschränkt.
Also bin ich her gegangen und habe erstmalig ein Programm direkt aus den Quellen mir gebaut.
Da ich hier bei mir einen ESXi-Server betreibe, hab ich mir zwei minimale Debian-Stretch-9.5-VMs erstellt. Die eine VM wird später mal nur für TVH genutzt und soll damit meine Shield und die Aurora-app versorgen.
Die Zweite ist nur dafür da um TVH zu bauen - das ist eine reine Vorsichtsmaßnahme, weil ich zum Erstellen eine Vielzahl an zusätzlichen Programme benötige und der TVH-Server u.U. im WAN erreichbar ist. Die fertige .deb Dateien kopiere ich dann zur Installation auf meine TVH-VM.
Also los gehts:
https://tvheadend.org/projects/tvheadend/wiki/Building
Ich verbinde mich mit putty mit der Entwickler-VM
Entweder auf der Konsole gleich als root angemeldet oder mit sudo oder mit su - root-Rechte sich holen.
Die erforderlichen Pakete, die das TVH-wiki angibt, sind leider nicht mehr up-to-date. Ich hab dann von diesem Beitrag hier im TVH Forum all diese Pakete installiert https://tvheadend.org/boards/4/topic…needed-packages incl. den optionalen Pakete
# apt-get install build-essential git libpcre2-dev pkg-config libssl-dev bzip2 wget libavahi-client-dev zlib1g-dev libavcodec-dev libavutil-dev libavformat-dev libswscale-dev libavresample-dev gettext cmake libiconv-hook-dev liburiparser-dev debhelper libcurl4-gnutls-dev python-minimal libdvbcsa-dev python-requests dvb-apps libva-dev libva-drm1 libva-x11-1
Plattenplatz 273 MB
Wenn der Install-Prozeß fertig ist, geht es jetzt als User weiter, nicht als root
Wir holen uns den aktuellen tvheadend Sourcecode von github
$ git clone https://github.com/tvheadend/tvheadend.git
wechseln danach in das neue Verzeichnis tvheadend und machen den oben im wiki genannten Test mit
$ ./configure
Wenn es so aussieht, wie hier in meinem LOG, dann kanns ans bauen gehen.
Checking support/features
checking for cc execinfo.h ... ok
checking for cc -mmmx ... ok
checking for cc -msse2 ... ok
checking for cc -Wunused-result ... ok
checking for cc -fstack-protector ... ok
checking for cc -fstack-protector-strong ... ok
checking for cc -fstack-check ... ok
checking for cc -fPIE ... ok
checking for cc strlcat ... fail
checking for cc strlcpy ... fail
checking for cc fdatasync ... ok
checking for cc getloadavg ... ok
checking for cc atomic32 ... ok
checking for cc atomic64 ... ok
checking for cc atomic_time_t ... ok
checking for cc atomic_ptr ... ok
checking for cc bitops64 ... ok
checking for cc lockowner ... ok
checking for cc qsort_r ... ok
checking for cc stime ... ok
checking for cc gmtoff ... ok
checking for cc recvmmsg ... ok
checking for cc sendmmsg ... ok
checking for cc libiconv ... fail
^ using build-in glibc iconv routines
checking for cc ifnames ... ok
checking for cc cclang_threadsan ... fail
checking for py module gzip ... ok
checking for pkg-config ... ok
checking for xgettext ... ok
checking for msgmerge ... ok
checking for gzip ... ok
checking for bzip2 ... ok
checking for pkg openssl ... ok (detected 1.1.0f)
checking for cc linux/dvb/version.h ... ok
checking for pkg zlib ... ok (detected 1.2.8)
checking for pkg libpcre2-8 ... ok (detected 10.22)
checking for pkg liburiparser ... ok (detected 0.8.4)
checking for pkg avahi-client ... ok (detected 0.6.32)
checking for cmake ... ok
checking for cc -lstdc++ ... ok
checking for pkg libva >=0.38.0 ... ok (detected 0.39.4)
checking for pkg libva-x11 >=0.38.0 ... ok (detected 0.39.4)
checking for pkg libva-drm >=0.38.0 ... ok (detected 0.39.4)
checking for cc sys/inotify.h ... ok
checking for cc inotify_init1 ... ok
checking for cc dvbcsa/dvbcsa.h ... ok
checking for cc -ldvbcsa ... ok
fetching dvb-scan files ... ok
checking for cc epoll_create1 ... ok
checking for pkg dbus-1 ... ok (detected 1.10.26)
Compiler:
Using C compiler: cc
Using LD flags: -ldvbcsa
Build for arch: x86_64
Binaries:
Using PYTHON: python
Using GZIP: gzip
Using BZIP2: bzip2
Options:
pie yes
ccdebug no
cardclient yes
cwc yes
cccam yes
capmt yes
constcw yes
linuxdvb yes
satip_server yes
satip_client yes
hdhomerun_client yes
hdhomerun_static yes
iptv yes
tsfile yes
dvbscan yes
timeshift yes
trace yes
imagecache yes
avahi yes
zlib yes
libav yes
ffmpeg_static yes
libx264 yes
libx264_static yes
libx265 yes
libx265_static yes
libvpx yes
libvpx_static yes
libtheora yes
libtheora_static yes
libvorbis yes
libvorbis_static yes
libfdkaac no
libfdkaac_static no
libopus yes
libopus_static yes
nvenc no
vaapi yes
mmal no
omx no
inotify yes
epoll yes
pcre no
pcre2 yes
uriparser yes
ccache no
tvhcsa yes
bundle no
pngquant no
kqueue no
dbus_1 yes
android no
gtimer_check no
slow_memoryinfo no
libsystemd_daemon no
pcloud_cache yes
ddci yes
cclang_threadsan no
gperftools no
execinfo yes
mmx yes
sse2 yes
W_unused_result yes
f_stack_protector yes
f_stack_protector_strong yes
f_stack_check yes
f_PIE yes
fdatasync yes
getloadavg yes
atomic32 yes
atomic64 yes
atomic_time_t yes
atomic_ptr yes
bitops64 yes
lockowner yes
qsort_r yes
stime yes
gmtoff yes
recvmmsg yes
sendmmsg yes
ifnames yes
py_gzip yes
bin_pkg_config yes
bin_xgettext yes
bin_msgmerge yes
bin_gzip yes
bin_bzip2 yes
ssl yes
linuxdvbapi yes
linuxdvb_ca yes
upnp yes
bin_cmake yes
stdcpp yes
libogg_static yes
hwaccels yes
inotify_h yes
inotify_init1 yes
dvbcsa yes
epoll_create1 yes
mpegts yes
mpegts_dvb yes
Packages:
openssl 1.1.0f
zlib 1.2.8
libpcre2-8 10.22
liburiparser 0.8.4
avahi-client 0.6.32
libva 0.39.4
libva-x11 0.39.4
libva-drm 0.39.4
dbus-1 1.10.26
Installation paths:
Prefix: /usr/local
Binaries: ${prefix}/bin
Libraries: ${prefix}/lib
Data files: ${prefix}/share
Man pages: ${datadir}/man
Final Binary:
/home/tvhbuilduser/tvheadend/build.linux/tvheadend
Tvheadend Data Directory:
/usr/local/share/tvheadend
Alles anzeigen
Die drei fails konnte ich nicht lösen, aber alles was ich im Netz gefunden habe, war dass es nichts ausmacht und TVH trotzdem richtig funzt.
Jetzt könnte man mit make oder make install eine lauffähige Installation bauen, die aber nach jedem Neustart händisch wieder gestartet werden müsste.
Ich möchte aber TVH dauerhaft installiert haben und es soll auch gleich mit dem Start der Maschine gestartet werden. Also müssen wir jetzt ein TVH Paket uns bauen. Ist hier im wiki nachzulesen
https://tvheadend.org/projects/tvheadend/wiki/Packaging
dazu starte ich
$ ./Autobuild.sh
ohne weitere Parameter, das Script erkennt inzwischen welches BS installiert ist.
Achtung: Wer eine Firewall in seinem Netz am Laufen hat, muss vorher das Länder-Blocking deaktivieren, da das Autobuild.sh Script aus aller Herren Länder verschiedene Programme herunter läd.
Jetzt heißt es zurück lehnen und einen Kaffee trinken, meine VM mit 4vCores und 8GB RAM brauchte dafür schlappe 15 Minuten.
Kleiner Tipp am Rande, wenn die Ausgabe (>5000 Zeilen) in eine Datei umgeleitet wird, bleibt die Konsole übersichtlicher, also so lautet dann der Befehl:
$ ./Autobuild.sh >build.[definition='1','0']log[/definition]
Die Warnungen sind zu ignorieren
Eine Verzeichnis-Ebene darüber sind jetzt die fertigen .deb-Dateien zu finden.
tvheadend_4.3-1427~gca88e6e62_amd64.buildinfo
tvheadend_4.3-1427~gca88e6e62_amd64.changes
tvheadend_4.3-1427~gca88e6e62_amd64.deb
tvheadend-dbg_4.3-1427~gca88e6e62_amd64.deb
Die beiden .deb-Dateien auf die TVH-VM kopieren und
mit
# dpkg -i *.deb
werden beide Dateien, jetzt aber mit root-Rechten, in einem Rutsch installiert
Unter /home wird von TVH ein Nutzerverzeichnis hts angelegt
und hat selbstständig einen Superuser "tvheadend" angelegt, der das gleiche Passwort hat, wie mein User-Passwort ist. Das soll und darf so nicht sein, also wird für TVH ein neuer Superuser angelegt:
TVH-Dienst beenden, löschen vom TVH-Config-Verzeichnis, Superuser und Passwort neu vergeben, TVH-Dienst wieder starten
# /etc/init.d/tvheadend stop oder # service tvheadend stop
# rm -rf /home/hts/.hts/tvheadend/
# dpkg-reconfigure tvheadend
# /etc/init.d/tvheadend start oder # service tvheadend start
Damit die EPG Daten auch später stimmen, muss die Uhrzeit im TVH-Debian korrekt sein, sonst klappt das später nicht mit den Aufnahmen richtig.
Erst prüfen, ob ntp schon installiert ist
# apt show ntp
wenn nicht, dann
# apt-get install ntp
anschliessend wird in /etc/ntp.conf eine kleine Änderung gemacht, die 4 Zeilen *.debian.pool* werden auskommentiert und gegen Diese ersetzt
pool 1.de.pool.ntp.org iburst
pool 2.ch.pool.ntp.org iburst
pool 0.europe.pool.ntp.org iburst
pool 3.pool.ntp.org iburst
Dann noch den Dienst neugestartet und fertig.
So das wars, über einen beliebigen Webbrowser auf Port 9981 jetzt noch TVH konfigurieren
http://localhost:9981
http://IP-TVH:9981
Viel Spaß beim Nachbauen.
Sollten sich Fehler eingeschlichen haben, bitte ich um entsprechende Hinweise.
Wie TVH konfiguriert wird - da hab noch keine Ahnung wie - das muss ich erst noch rausfinden, werde das dann aber auch hier berichten.
Hier im speziellen, da ich SAT>IP vom DVBViewerMediaServer machen möchte. @puenktchen hat sich da mal daran versucht.
Wäre um jeden Hinweis dankbar.