Quantcast
Aktuelles
Digital Eliteboard - Das Digitale Technik Forum

Registriere dich noch heute kostenlos, um Mitglied zu werden! Sobald du angemeldet bist, kannst du auf unserer Seite aktiv teilnehmen, indem du deine eigenen Themen und Beiträge erstellst und dich über deinen eigenen Posteingang mit anderen Mitgliedern unterhalten kannst! Zudem bekommst du Zutritt zu Bereichen, welche für Gäste verwehrt bleiben

Registriere dich noch heute kostenlos, um Mitglied zu werden! Sobald du angemeldet bist, kannst du auf unserer Seite aktiv teilnehmen, indem du deine eigenen Themen und Beiträge erstellst und dich über deinen eigenen Posteingang mit anderen Mitgliedern unterhalten kannst! Zudem bekommst du Zutritt zu Bereichen, welche für Gäste verwehrt bleiben

HowTo HTPC mit Linux Mint 21.3 , Kodi 21, TVHeadend 4.3

Alex

Administrator
Teammitglied
Registriert
10. Januar 2012
Beiträge
21.395
Lösungen
9
Reaktionspunkte
30.293
Punkte
1.113
Ort
Paradise City
Hallo zusammen,

Dieses Projekt will ich schon seit Jahren realisieren hab mich aber, abgesehen von ein paar halbgaren Versuchen mit einem Raspberry Pi 1 B (miese Performance), gerade an die DVB-S Sache nicht wirklich ernsthaft ran gemacht.
Es gibt hierfür mit Sicherheit schnellere und einfacherer Lösungen wie Libreelec etc. Aber keine Lösung hat alles abgedeckt, was ich wollte.


Die verwendete Hardware für diese HowTo:
Zotac ZBOX-ID42-BE mit folgendes Specs:
Code:
System:
  Kernel: 6.5.0-14-generic x86_64 bits: 64 compiler: N/A Console: pty pts/0
    Distro: Linux Mint 21.3 Virginia base: Ubuntu 22.04 jammy
Machine:
  Type: Desktop Mobo: ZOTAC model: ZBOX-ID42-BE v: XX serial: <superuser required>
    UEFI: American Megatrends v: B216P004 date: 10/29/2013
CPU:
  Info: dual core model: Intel Core i3-3227U bits: 64 type: MT MCP arch: Ivy Bridge rev: 9 cache:
    L1: 128 KiB L2: 512 KiB L3: 3 MiB
  Speed (MHz): avg: 1330 high: 1900 min/max: 800/1900 cores: 1: 1900 2: 1268 3: 955 4: 1200
    bogomips: 15165
  Flags: avx ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx
Graphics:
  Device-1: NVIDIA GK107 [GeForce GT 640] vendor: ZOTAC driver: nvidia v: 470.223.02
    bus-ID: 01:00.0
  Device-2: PCTV Systems DVB-S2 Stick 461e type: USB driver: em28xx bus-ID: 3-1:2
  Display: server: X.org v: 1.21.1.4 with: Xwayland v: 22.1.1 driver: X: loaded: nvidia
    unloaded: fbdev,modesetting,nouveau,vesa gpu: nvidia tty: 203x50
  Message: GL data unavailable in console. Try -G --display
Audio:
  Device-1: Intel 7 Series/C216 Family High Definition Audio vendor: ZOTAC driver: snd_hda_intel
    v: kernel bus-ID: 00:1b.0
  Device-2: NVIDIA GK107 HDMI Audio vendor: ZOTAC driver: snd_hda_intel v: kernel
    bus-ID: 01:00.1
  Sound Server-1: ALSA v: k6.5.0-14-generic running: yes
  Sound Server-2: PulseAudio v: 15.99.1 running: yes
  Sound Server-3: PipeWire v: 0.3.48 running: yes
Network:
  Device-1: Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet vendor: ZOTAC driver: r8169
    v: kernel port: d000 bus-ID: 02:00.0
  IF: enp2s0 state: up speed: 1000 Mbps duplex: full mac: <filter>
  Device-2: Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet vendor: ZOTAC driver: r8169
    v: kernel port: c000 bus-ID: 03:00.0
  IF: enp3s0 state: down mac: <filter>
  Device-3: Intel Wireless 3160 driver: iwlwifi v: kernel bus-ID: 05:00.0
  IF: wlp5s0 state: down mac: <filter>
  Device-4: Microsoft Xbox 360 Wireless Adapter type: USB driver: xpad bus-ID: 3-4:4
Bluetooth:
  Device-1: Intel Bluetooth wireless interface type: USB driver: btusb v: 0.8 bus-ID: 1-1.3:3
  Report: hciconfig ID: hci0 rfk-id: 0 state: up address: <filter> bt-v: 2.1 lmp-v: 4.0
Drives:
  Local Storage: total: 232.89 GiB used: 37.42 GiB (16.1%)
  ID-1: /dev/sda vendor: Samsung model: SSD 750 EVO 250GB size: 232.89 GiB
Partition:
  ID-1: / size: 227.68 GiB used: 37.42 GiB (16.4%) fs: ext4 dev: /dev/sda2
  ID-2: /boot/efi size: 511 MiB used: 6.1 MiB (1.2%) fs: vfat dev: /dev/sda1
Swap:
  ID-1: swap-1 type: file size: 2 GiB used: 0 KiB (0.0%) file: /swapfile
Sensors:
  System Temperatures: cpu: 41.0 C mobo: 38.0 C gpu: nvidia temp: 35 C
  Fan Speeds (RPM): cpu: 2213 fan-1: 0 gpu: nvidia fan: 30%
  Power: 12v: N/A 5v: N/A 3.3v: 3.36 vbat: 3.31
Info:
  Processes: 239 Uptime: 16m Memory: 7.71 GiB used: 2.03 GiB (26.3%) Init: systemd runlevel: 5
  Compilers: gcc: 11.4.0 Packages: 2897 Shell: Bash v: 5.1.16 inxi: 3.3.13

und ein bereits vorhandener

Die Hardware ist mittlerweile 10 Jahre alt, reicht aber locker aus, um HDTV zu schauen 4K habe ich noch nicht probiert, sollte aber auch reichen.
Als Betriebssystem habe ich die aktuelle Version von Linux Mint (21.3 Virginia) verwendet. Hätte genauso gut auch Ubuntu 22.04 sein können, aber ich wollte schon lange mal was mit Mint realisieren.
 
Zuletzt bearbeitet:
Kodi installieren:

Als erstes werden die benötigten Pakete für Kodi installiert:
Code:
sudo apt install debhelper autoconf automake autopoint gettext autotools-dev cmake curl default-jre doxygen gawk gcc gdc gperf libasound2-dev libass-dev libavahi-client-dev libavahi-common-dev libbluetooth-dev libbluray-dev libbz2-dev libcdio-dev libp8-platform-dev libcrossguid-dev libcurl4-openssl-dev libcwiid-dev libdbus-1-dev libdrm-dev libegl1-mesa-dev libenca-dev libflac-dev libfmt-dev libfontconfig-dev libfreetype6-dev libfribidi-dev libfstrcmp-dev libgcrypt-dev libgif-dev libgles2-mesa-dev libgl1-mesa-dev libglu1-mesa-dev libgnutls28-dev libgpg-error-dev libgtest-dev libiso9660-dev libjpeg-dev liblcms2-dev libltdl-dev liblzo2-dev libmicrohttpd-dev libmysqlclient-dev libnfs-dev libogg-dev libpcre3-dev libplist-dev libpng-dev libpulse-dev libshairplay-dev libsmbclient-dev libspdlog-dev libsqlite3-dev libssl-dev libtag1-dev libtiff5-dev libtinyxml-dev libtool libudev-dev libunistring-dev libva-dev libvdpau-dev libvorbis-dev libxmu-dev libxrandr-dev libxslt1-dev libxt-dev lsb-release meson nasm ninja-build python3-dev python3-pil python3-pip rapidjson-dev swig unzip uuid-dev zip zlib1g-dev git python-is-python3 libtinyxml2-dev

Jetzt checken wir Kodi aus:
Code:
cd $HOME

Code:
git clone -b Omega https://github.com/xbmc/xbmc kodi
Anmerkung: -b steht für branch und Omega für 21.x

Nun wechseln wir in das Verzeichnis und bauen noch ein paar fehlende Abhängigkeiten:
Code:
cd $HOME/kodi

Crossguid:
Code:
sudo make -j$(getconf _NPROCESSORS_ONLN) -C tools/depends/target/crossguid PREFIX=/usr/local

flattbuffers:
Code:
sudo make -j$(getconf _NPROCESSORS_ONLN) -C tools/depends/target/flatbuffers PREFIX=/usr/local

libfmt:
Code:
sudo make -j$(getconf _NPROCESSORS_ONLN) -C tools/depends/target/fmt PREFIX=/usr/local

libspdlog:
Code:
sudo make -j$(getconf _NPROCESSORS_ONLN) -C tools/depends/target/spdlog PREFIX=/usr/local

Kodi bauen:

Nun erstellen wir das Build-Verzeichnis:
Code:
mkdir $HOME/kodi-build

und betreten dies:
Code:
cd $HOME/kodi-build

jetzt Konfigurieren wir Kodi für X11, da wir ja ein Linux mit Desktopoberfläche haben:
Code:
cmake ../kodi -DCMAKE_INSTALL_PREFIX=/usr/local -DCORE_PLATFORM_NAME=x11 -DAPP_RENDER_SYSTEM=gl

Danach bauen wir Kodi:
Code:
cmake --build . -- VERBOSE=1 -j$(getconf _NPROCESSORS_ONLN)

Nach dem das Kompilieren ohne Fehler durchgelaufen ist, können wir Kodi testweise direkt aus dem Verzeichnis starten:
Code:
./kodi-x11

Wenn Kodi ordnungsgemäß gestartet ist, können wir es auch richtig installieren:
Code:
sudo make install


Kodi Add-Ons bauen:

Ins Kodi verzeichnis zurückwechseln
Code:
cd $HOME/kodi

Alle Addons bauen (dauert):
Code:
sudo make -j$(getconf _NPROCESSORS_ONLN) -C tools/depends/target/binary-addons PREFIX=/usr/local

Bestimmtes AddOn bauen:
Code:
sudo make -j$(getconf _NPROCESSORS_ONLN) -C tools/depends/target/binary-addons PREFIX=/usr/local ADDONS="audioencoder.flac pvr.vdr.vnsi audiodecoder.snesapu"

Bestimmte Add-On Gruppe bauen:
Code:
sudo make -j$(getconf _NPROCESSORS_ONLN) -C tools/depends/target/binary-addons PREFIX=/usr/local ADDONS="pvr.*"

Ich habe alle Add-Ons gebaut. Speicherplatz war ja genug da
 
Zuletzt bearbeitet:
Als allererstes bitte die angehängten Patches in das Home-Verzeichnis entpacken

TVHeadend
Zuerst noch folgende Pakete installieren:
Code:
sudo apt-get install liburiparser-dev ccache libdvbcsa1

Die restlichen Pakete sollten durch Kodi schon installiert sein. Die beiden Patches für libdvbcsa und Tvheadend 4.3 bitte nach $HOME entpacken

libdvbcsa

Falls vorhanden zuerst die Systemversion deinstallieren:
Code:
sudo apt-get purge libdvbcsa-dev

Für ICAM muss auch noch libdvbcsa gepatcht werden, das sich Sky ja nicht mehr an die CSA - Verschlüsselung hält.

Als erstes hab ich mir ein Arbeitsverzeichnis angelegt:
Code:
mkdir $HOME/build

danach dieses betreten:
Code:
cd $HOME/build

und libdvbcsa ausgecheckt und betreten:
Code:
git clone https://github.com/glenvt18/libdvbcsa.git
cd libdvbcsa

Danach noch mit dem in $HOME liegenden Patch patchen:
Code:
patch -p1 < $HOME/libdvbcsa.patch

nun das Kompilieren vorbereiten:
Code:
autoreconf --install && ./configure

Zum Schluss noch bauen und installieren:
Code:
make && sudo make install

TVHeadend kompilieren

Wieder zurück ins Arbeitsverzeichnis:
Code:
cd $HOME/build

auschecken:
Code:
git clone https://github.com/tvheadend/tvheadend.git tvheadend-git

Verzeichnis betreten:
Code:
cd tvheadend-git

Nun debian/control anpassen, damit libdvbcsa nicht installiert wird
Code:
nano debian/control
den Eintrag "libdvbcsa-dev" suchen -> löschen -> mit STRG+O speichern und STRG+X den Editor wieder verlassen

Nur bei Linux Mint notwendig:
Da Tvheadend Linux Mint nicht vorsieht, müssen wir noch die passende Datei im Unterverzeichnis Autobuild hinterlegen. Da Linux Mint Vera auf Ubuntu 22.04 basiert, können wir ganz einfach diese Verwenden:
Code:
cp ~/build/tvheadend-git/Autobuild/jammy-x86_64.sh  ~/build/tvheadend-git/Autobuild/virginia-x86_64.sh

Nun erstellen wir ein installierbares .deb Paket:
Code:
AUTOBUILD_CONFIGURE_EXTRA=--enable-ddci\ --enable-ccache\ --enable-ffmpeg_static\ --enable-hdhomerun_static ./Autobuild.sh

Diese wird nun installiert:
Code:
cd .. && sudo dpkg -i *.deb

Da für den DVB-S Stick noch die benötigte Firmware fehlt, die angehängte Datei dvb-demod-m88ds3103.zip entpacken und nach /usr/lib/firmware kopieren. Danach die Hardware abziehen und wieder anstecken. Dann wird sie richtig erkannt.

Du musst angemeldet sein, um Bilder zu sehen.
 

Anhänge

Du musst angemeldet sein, um die Anhangsliste zu sehen.
Zuletzt bearbeitet:
OScam kompilieren:


Code:
sudo apt-get update && sudo apt-get install build-essential subversion libssl-dev libpcsclite-dev libusb-1.0-0-dev dialog pcscd

danach
Code:
git clone https://git.streamboard.tv/common/oscam.git/ oscam-git
cd oscam-git

Falls man OScam noch anpassen möchte:
Code:
make config

OScam bauen:
Code:
make

Die fertige Binary dann /usr/bin kopieren:
Code:
cp Distribution/oscam-1.20_svn11719-x86_64-linux-gnu /usr/bin/oscam

die Configs kommen in meinem Fall aus alter Gewohnheit nach /var/keys
Code:
# oscam.conf generated automatically by Streamboard OSCAM 1.20_svn SVN r11719-798
# Read more: https://svn.streamboard.tv/oscam/trunk/Distribution/doc/txt/oscam.conf.txt

[global]
logfile                       = /var/log/oscam.log
logduplicatelines             = 1
nice                          = -1
maxlogsize                    = 1024
preferlocalcards              = 1
dropdups                      = 1
disablecrccws_only_for        = 0500:050F00;09C4:000000;098C:000000;098D:000000

[cccam]
port                          = 12000
version                       = 2.3.2
forward_origin_card           = 1

[dvbapi]
enabled                       = 1
au                            = 1
pmt_mode                      = 0
listen_port                   = 9000
delayer                       = 60
ecminfo_type                  = 1
user                          = dvbapi
read_sdt                      = 2
write_sdt_prov                = 1
boxtype                       = pc

[webif]
httpport                      = 16002
httpuser                      = oscam
httppwd                       = oscam
httphelplang                  = de
httplocale                    = de_DE.utf8
httprefresh                   = 15
httphideidleclients           = 0
httpshowpicons                = 1
httppiconsize                 = 40
httpallowed                   = 127.0.0.1,192.168.0.0-192.168.255.255
http_status_log               = 1
Code:
# oscam.user generated automatically by Streamboard OSCAM 1.20_svn SVN r11719-798
# Read more: https://svn.streamboard.tv/oscam/trunk/Distribution/doc/txt/oscam.user.txt

[account]
user                          = dvbapi
hostname                      = localhost
keepalive                     = 1
au                            = 1
Code:
[reader]
label                         = serverviaccam
protocol                      = cccam
device                        = name.dyndns.org oder IP,Port*
user                          = User*
password                      = Pass*
group                         = 1
cccversion                    = 2.3.0
ccckeepalive                  = 1

Dies ist nur eine rudimentäre Config, aber dazu gibt es ja mehr als genug Themen

Autostart von OScam einrichten:

Das System vorbereiten​

Zunächst einmal prüfst Du, ob rc-local läuft oder nicht. Dies sollte das nicht der Fall sein:
Code:
sudo systemctl status rc-local

Bei einer Standard-Installation findest Du nun die Zeile: Active: inactive (dead)

Möchtest Du nun die Funktionalität von rc.local wiederherstellen, dann musst Du das über ein systemd-Script machen. Lege die Datei /etc/systemd/system/rc-local.service an und befülle sie mit folgendem Inhalt:
Code:
[Unit]
 Description=/etc/rc.local Compatibility
 ConditionPathExists=/etc/rc.local

[Service]
 Type=forking
 ExecStart=/etc/rc.local start
 TimeoutSec=0
 StandardOutput=tty
 RemainAfterExit=yes
 SysVStartPriority=99

[Install]
 WantedBy=multi-user.target

Im nächsten Schritt legst Du auch gleich die Datei /etc/rc.local an und stellst ein Shebang an den Anfang (wie das eben bei einem Script üblich ist):
Code:
#!/bin/bash

#OScam starten:
/usr/bin/oscam -b -c /var/keys
Die Datei rc.local müssen wir nun auch noch ausführbar machen.
Code:
sudo chmod +x /etc/rc.local

rc.local wieder aktivieren
Nun müssen wir nur noch dafür sorgen, dass das Script bei Systemstart auch wirklich ausgeführt wird. Dazu aktivieren wir es.
Code:
systemctl enable rc-local

Jetzt ist ein Neustart notwendig. Im Anschluss prüfst Du, ob die Funktion nun aktiv ist.
Code:
sudo systemctl status rc-local

Nun sollte die Ausgabe wie folgt sein.

Ab sofort kannst Du die Funktionalität von /etc/rc.local wieder nutzen und OScam startet beim Systemstart automatisch. Außerdem sollte das WebIf von OScam unter erreichbar sein
 
Zuletzt bearbeitet:
TVHeadend einrichten

Für die Einrichtung von TVHeadend verweise ich auf diesen Post: TVheadend - How2 Tvheadend Basics
Da steht eigentlich alles wichtige drin.

Als Anmerkung noch: Um die Sprache ändern zu können muss ein neuer Benutzer angelegt werden, da die Sprache des Admin-Benutzers immer Englisch ist.
 
Einrichtung Unicable I mit DUR-line UK 124-3L und Sundtek SkyTV Ultimate 8 (DVB-S/S2/S2X)
Nicht wundern, dass ich hier einen anderen Stick verwende, der Alte ist mittlerweile nicht mehr zuverlässig

Die Einstellungen in TVHeadend sehen wie folgt aus
Du musst Regestriert sein, um das angehängte Bild zusehen.


Du musst Regestriert sein, um das angehängte Bild zusehen.


Du musst Regestriert sein, um das angehängte Bild zusehen.



Frequenzen und SATCR - Nummer können aus folgendem Spoiler entnommen werden

@ dCSS: 950 - 2150 MHz
@ Legacy: Low Band: 950 - 1950 MHz High Band: 1100 - 2150 MHz
Code:
SATCR00: 1210 MHz (SCR/dCSS)
SATCR01: 1420 MHz (SCR/dCSS)
SATCR02: 1680 MHz (SCR/dCSS)
SATCR03: 2040 MHz (SCR/dCSS)
SATCR04: 1005 MHz (SCR/dCSS)
SATCR05: 1050 MHz (SCR/dCSS)
SATCR06: 1095 MHz (SCR/dCSS)
SATCR07: 1140 MHz (SCR/dCSS)
SATCR08: 1260 MHz (dCSS)
SATCR09: 1305 MHz (dCSS)
SATCR10: 1350 MHz (dCSS)
SATCR11: 1475 MHz (dCSS)
SATCR12: 1520 MHz (dCSS)
SATCR13: 1565 MHz (dCSS)
SATCR14: 1610 MHz (dCSS)
SATCR15: 1725 MHz (dCSS)
SATCR16: 1770 MHz (dCSS)
SATCR17: 1815 MHz (dCSS)
SATCR18: 1860 MHz (dCSS)
SATCR19: 1905 MHz (dCSS)
SATCR20: 1950 MHz (dCSS)
SATCR21: 1995 MHz (dCSS)
SATCR22: 2085 MHz (dCSS)
SATCR23: 2130 MHz (dCSS)
Kompatible Receiver/TV - Compatible receiver/TV
SATCR00 - SATCR07: EN50494 & EN50607 (SCR / Unicable I & II)
SATCR08 - SATCR23: EN50607 (dCSS / JESS / Unicable II)

Ich habe für mich den letzten Unicable I fähigen Kanal genommen.
 

Anhänge

Du musst angemeldet sein, um die Anhangsliste zu sehen.
Zuletzt bearbeitet:
Aktuell lässt sich alles mit der Logitech K400 wunderbar bedienen, aber das Fernbedienungs-Feeling fehlt ein bißchen. Da der HTPC auch eine IR - Schnittstelle hat, werde ich in meinem Urlaub auch noch versuchen, das zu realisieren. Sollte ich Erfolg haben, gibt es auch hierzu natürlich noch ein HowTo.

Hier noch ein paar Impressionen aus Kodi und dem WebIf von TVheadend:

Du musst angemeldet sein, um Bilder zu sehen.
Du musst angemeldet sein, um Bilder zu sehen.
Du musst angemeldet sein, um Bilder zu sehen.
Du musst angemeldet sein, um Bilder zu sehen.

Das Livebild ist relativ schlecht, das liegt aber daran, dass ich den Screenshot remote via Teamviewer gemacht habe

Du musst angemeldet sein, um Bilder zu sehen.
Du musst angemeldet sein, um Bilder zu sehen.
Du musst angemeldet sein, um Bilder zu sehen.
Du musst angemeldet sein, um Bilder zu sehen.

Über die Tags und die Nummer habe ich die Sortierung vorgenommen, wie sie in der Kodi TV Übersicht zu sehen ist.
 
Werde ich bei Gelegenheit testen

Edit: funzt auch so. Habe Post #4 angepasst
 
Zuletzt bearbeitet:
Als Betriebssystem habe ich die aktuelle Version von Linux Mint (21.1 Vera) verwendet. Hätte genauso gut auch Ubuntu 22.04 sein können, aber ich wollte schon lange mal was mit Mint realisieren.
Wie sieht denn das bei dir unter Linux Mint mit der CPU Last aus?
Wenn ich über Kodi was ansehe, geht die CPU Last immer so über die 96 % :(
 
Es liegt aber nicht an Kodi,eh an X11,x-org config und Ausgabe device.
Hat man bei VDR auch,meistens hilft richtige Graka Nvidia oder änlich.Muss nicht teure sein,je nach Hardware mit pcie erweitert, oder mit last leben.
Super Arbeit Alex,für jeden nachzuvollziehen,wie IPC halt:-)
 
Zuletzt bearbeitet von einem Moderator:
Danke für die Info, werde ich bei Gelegenheit mal testen (y)
 
Aufgrund der Geforce 640 GT ist die Last nicht zu hoch:

Du musst Regestriert sein, um das angehängte Bild zusehen.


Hier exmplarisch bei Sky F1. Bei Filmen usw noch niedriger.
 

Anhänge

Du musst angemeldet sein, um die Anhangsliste zu sehen.
So, Graka von Nvidia rein und alles bestens :)
Musste aber Kodi neu installieren da der Bildschirm beim Filme abspielen flackerte.
Bei Youtube oder über VLC hingegen lief alles auf Anhieb problemlos :cool:
 
Zurück
Oben