XBMC
XBMC (umbenannt in "Kodi") ist eine OpenSource-Software, die in etwa dem Funktionsumfang des Windows MediaCenters entspricht, d.h. im Wesentlichen Filme und Musik abspielen und aufnehmen und TV auf dem jeweiligen Gerät ermöglicht.
Mit TvHeadEnd lässt sich XBMC auch zu einem Videorecorder aufmöbeln. Damit ist auch das automatische Aufwachen zum Aufnehmen einer programmierten Sendung möglich. Siehe https://tvheadend.org/projects/tvheadend/wiki/Wakeup . Möglicherweise hilft auch dieser Thread zum Wakeup und Shutdown von XBMC,
OpenELEC ist eine Linux-Distribution, die speziell für die Unterstützung von XBMC entwickelt wurde.
Installation aus den Quellen
Installation von Kodi 17.4 Krypton auf Debian 9 Stretch
Mit dieser Anleitung kann Kodi 17.4 Krypton einschließlich des TvHeadend-Addon auf Debian 9 Stretch kompiliert und auf einem Zielsystem installiert werden.
Diese Anleitung beruht auf derjenigen auf penzin.net für Kodi 17.3. Siehe auch
Phase 1 Kompilieren auf dem Quellsystem
Installiere notwendige Packages:
sudo aptitude install git \ automake autopoint bison build-essential ccache cmake curl cvs \ default-jre fp-compiler gawk gdc gettext gperf libasound2-dev \ libass-dev libavcodec-dev libavfilter-dev libavformat-dev \ libavutil-dev libbluetooth-dev libboost-dev libboost-thread-dev \ libbz2-dev libcap-dev libcdio-dev libcrystalhd-dev libcrystalhd3 \ libcurl3 libcurl4-gnutls-dev libcwiid-dev libcwiid1 libdbus-1-dev \ libenca-dev libflac-dev libfontconfig1-dev libfreetype6-dev \ libfribidi-dev libglew-dev libiso9660-dev \ libjpeg-dev libltdl-dev liblzo2-dev libmad0-dev libmicrohttpd-dev \ libmodplug-dev libmp3lame-dev libmpeg2-4-dev libmpeg3-dev \ libnfs-dev libogg-dev libpcre3-dev libplist-dev \ libpng-dev libpostproc-dev libpulse-dev libsamplerate0-dev \ libsdl1.2-dev libsdl-gfx1.2-dev libsdl-image1.2-dev \ libsdl-mixer1.2-dev libsmbclient-dev libsqlite3-dev libssh-dev \ libswscale-dev libtiff5-dev libtinyxml-dev libtool \ libudev-dev libusb-dev libva-dev libva-egl1 libva-tpi1 libvdpau-dev \ libvorbisenc2 libxml2-dev libxmu-dev libxrandr-dev libxrender-dev \ libxslt1-dev libxt-dev libyajl-dev mesa-utils nasm pmount \ python-dev python-imaging python-sqlite swig unzip yasm zip \ zlib1g-dev libtag-extras-dev libgnutls28-dev \ uuid-dev libgif-dev libsdl2-dev liblcms2-dev xz-utils \ libssl1.0-dev default-libmysqlclient-dev libcrossguid-dev \ libavahi-client-dev libbluray-dev libp8-platform-dev libcec-dev \ joe bash-completion
cd # Wechsle ins Home-Verzeichnis mkdir kodi17.4 cd kodi17.4 git clone -b Krypton https://github.com/xbmc/xbmc.git git checkout 17.4-Krypton # Das ist der Tag des Releases, kein Branch git clone https://gitlab.com/vadimp/kodi-mdnsresponder git clone https://github.com/juhovh/shairplay.git # only necessary for TvHeadend-Addon pvr.hts git clone -b Krypton https://github.com/kodi-pvr/pvr.hts.git
Erzeuge Datei ~/kodi17.4/kodi-build-vars.sh
mit folgendem Inhalt:
export KODI_PFX='/opt/kodi17.4' export C_INCLUDE_PATH="${C_INCLUDE_PATH}:${KODI_PFX}/include" export CPLUS_INCLUDE_PATH="${CPLUS_INCLUDE_PATH}:${KODI_PFX}/include" export LIBRARY_PATH="${LIBRARY_PATH}:${KODI_PFX}/lib" export LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:${KODI_PFX}/lib" export PKG_CONFIG_PATH="${PKG_CONFIG_PATH}:${KODI_PFX}/lib/pkgconfig" export PATH="${PATH}:${KODI_PFX}/bin" export MAKEFLAGS="-j1"
Lese die Umgebungsvariablen ein:
source ~/kodi17.4/kodi-build-vars.sh
Shairplay und mDNSResponder kompilieren und installieren:
cd "~/kodi17.4/shairplay" ./autogen.sh ./configure "--prefix=${KODI_PFX}" make sudo make install cd "../kodi-mdnsresponder" make sudo sh -c "PREFIX=\"${KODI_PFX}\" make install"
Dynamische Bibliotheken von shairplay und mDNSResponder zur Kompilation von Kodi bereitstellen:
sudo ldconfig "${KODI_PFX}/lib"
Kompilieren von Kodi
cd "~/kodi17.4/xbmc" ./bootstrap ./configure "--prefix=${KODI_PFX}" --enable-mid make
Kompilieren des TvHeadend-Addons pvr.hts:
cd "~/kodi17.4/pvr.hts" mkdir build cd build cmake -DADDONS_TO_BUILD=pvr.hts -DADDON_SRC_PREFIX=../.. -DCMAKE_BUILD_TYPE=Debug -DCMAKE_INSTALL_PREFIX=../../xbmc/addons -DPACKAGE_ZIP=1 ../../xbmc/project/cmake/addons make
oder
cd "~/kodi17.4/xbmc" make -C tools/depends/target/binary-addons PREFIX=${KODI_PFX} ADDONS="pvr.hts adsp.basic audiodecoder.modplug audiodecoder.nosefart audiodecoder.sidplay audiodecoder.snesapu audiodecoder.stsound audiodecoder.timidity audiodecoder.vgmstream audioencoder.flac audioencoder.lame audioencoder.vorbis audioencoder.wav inputstream.mpd pvr.demo visualization.fishbmc visualization.goom visualization.projectm visualization.shadertoy visualization.spectrum visualization.vsxu visualization.waveform"
Installieren von Kodi samt Addon:
cd "~/kodi17.4/xbmc" sudo make install
Zusammenfassen der Binärinstallation in ein TAR-Archiv:
cd ~/kodi17.4 sudo tar -C / -cJf "kodi-17.4-$(uname -m).tar.xz" "${KODI_PFX:1}/"{bin,lib,share}
Phase 2 Installieren auf dem Zielsystem
Notwendige Pakete auf dem Zielsystem
sudo aptitude install \ dbus libasn1-8-heimdal libasound2 libass5 libasyncns0 \ libattr1 libavahi-client3 libavahi-common3 libbluetooth3 libbsd0 \ libbz2-1.0 libcap2 libcdio13 libcomerr2 libcrystalhd3 \ libcurl3-gnutls libdbus-1-3 libdrm2 libexpat1 libffi6 libflac8 \ libfreetype6 libfribidi0 libgcrypt20 libgl1-mesa-glx \ libglapi-mesa libglew2.0 libglu1-mesa libgmp10 libgnutls-dane0 \ libgpg-error0 libgssapi3-heimdal libgssapi-krb5-2 \ libhcrypto4-heimdal libheimbase1-heimdal \ libheimntlm0-heimdal libhogweed4 libhx509-5-heimdal libice6 \ libjbig0 libjpeg62-turbo libjson-c3 libk5crypto3 \ libkeyutils1 libkrb5-26-heimdal libkrb5-3 libkrb5support0 \ libldap-2.4-2 libldb1 liblzma5 liblzo2-2 libmad0 \ libmicrohttpd12 libnettle6 libntdb1 libogg0 libp11-kit0 libpcre3 \ libpcrecpp0v5 libpng16-16 libpulse0 libpython2.7 \ libroken18-heimdal libsasl2-2 libsm6 libsmbclient libsndfile1 \ libsqlite3-0 libssh-4 libssl1.1 libsystemd0 libtag1v5-vanilla \ libtalloc2 libtasn1-6 libtdb1 libtevent0 libtiff5 libtinyxml2.6.2v5 \ libudev1 libuuid1 libva1 libva-x11-1 libvorbis0a libvorbisenc2 \ libwbclient0 libwind0-heimdal libwrap0 libx11-6 libx11-xcb1 libxau6 \ libxcb1 libxcb-dri2-0 libxcb-dri3-0 libxcb-glx0 libxcb-present0 \ libxcb-render0 libxcb-shape0 libxcb-sync1 libxcb-xfixes0 \ libxdamage1 libxdmcp6 libxext6 libxfixes3 libxi6 libxml2 libxmu6 \ libxrandr2 libxrender1 libxshmfence1 libxslt1.1 libxt6 libxtst6 \ libxxf86vm1 libyajl2 policykit-1 samba-libs sudo x11-xserver-utils \ xinit zlib1g unzip libsdl2-2.0-0 liblcms2-2 xz-utils upower \ libmariadbclient18 libcrossguid0 \ libavahi-client3 libbluray1 libp8-platform2 libcec4 \ libvdpau1 libva-drm1 pulseaudio \ pavucontrol sudo joe
Zugriffsrechte für X11
Auch non-root-Benutzer sollen Rechte haben, auf den XServer zuzugreifen:
dpkg-reconfigure xserver-xorg-legacy
Auspacken auf dem Zielsystem
sudo tar -C / -xvJf tmp/kodi-17.4-pvr_hts_only-x86_64.tar.xz
Dem System die dynamischen Bibliotheken von Kodi mitteilen (steht bei penzin.net, bin nicht sicher, ob es notwendig ist):
cat <<EOF | sudo tee /etc/ld.so.conf.d/kodi.conf /opt/kodi17.4/lib EOF sudo ldconfig
Systemd-Service für Kodi
Dann braucht man zum automatischen Starten von Kodi noch einen Systemd-Service. Bitte beim kodi.service-Script auf den korrekten Pfad in /opt/kodi/bin
achten.
Ein Beispiel für ein solches Skript /etc/systemd/system/kodi.service
:
[Unit] Description = Kodi Media Center # if you don't need the MySQL DB backend, this should be sufficient #After = systemd-user-sessions.service network.target sound.target # if you need the MySQL DB backend, use this block instead of the previous After = systemd-user-sessions.service network.target sound.target mysql.service Wants = mysql.service [Service] User = kodi Group = kodi Type = simple #PAMName = login # you might want to try this one, did not work on all systems ExecStart = /usr/bin/xinit /usr/bin/dbus-launch --exit-with-session /opt/kodi17.4/bin/kodi-standalone -- :0 -nolisten tcp vt7 Restart = always RestartSec = 20 [Install] WantedBy = multi-user.target
Nicht zu vergessen sind auch die für kodi erforderlichen Gruppen:
sudo adduser kodi sudo usermod -a -G cdrom,audio,video,plugdev,users,dialout,dip,input,netdev kodi
Infrarot-Fernbedienung
Um diese einzurichten siehe bei Linux-Tipps#Infrarot-Schnittstelle.
Installation von Kodi 17.3 Krypton auf Debian 9 Stretch
Auch auf einem Debian lässt sich die aktuelle Version von Kodi kompilieren und installieren:
Auf der Zielmaschine musste ich noch ConsoleKit installieren:
sudo aptitude install consolekit
Statt des bei Penzin beschriebenen Autostarts kann man es auch mit Systemd-Service versuchen. Bitte beim kodi.service-Script auf den korrekten Pfad in /opt/kodi/bin
achten. Nicht zu vergessen sind auch die für kodi erforderlichen Gruppen:
sudo usermod -a -G cdrom,audio,video,plugdev,users,dialout,dip,input,netdev kodi
Um das PVR-Plugin für TvHeadend zu installieren kann man sich des vorhandenen DEB-Packages bedienen:
#!/bin/bash set -e set -x sudo aptitude --download-only install kodi-pvr-hts tmp_dir=/tmp/kodi-pvr-hts kodi_home=/opt/kodi rm -Rf $tmp_dir # clean up temporary directory mkdir -p $tmp_dir cd $tmp_dir ar xv /var/cache/apt/archives/kodi-pvr-hts*.deb xz --decompress -v data.tar.xz tar --extract -vf data.tar sudo cp -avRi usr/share/kodi/addons/pvr.hts $kodi_home/share/kodi/addons/ sudo cp -avRi usr/lib/x86_64-linux-gnu/kodi/addons/pvr.hts $kodi_home/lib/kodi/ echo Finished!
Installation von Kodi 17.1 Krypton vom Debian 9 Stretch Repository
Bei einer vollständigen Installation von Debian 9 Stretch mit GUI kann man Kodi ganz simpel installieren:
sudo aptitude install kodi
Hat man jedoch ein Minimalsystem installiert, werden nicht alle Abhängigkeiten mitinstalliert. Zu installieren ist u.a.
sudo aptitude install xinit dbus-launch
Auch den Nichtkonsolenbenutzer muss man das Starten des XServers erlauben:
sudo -i echo -e "allowed_users=anybody\nneeds_root_rights=yes" >> /etc/X11/Xwrapper.config
Gestartet wird Kodi dann von der Kommandozeile so:
/usr/bin/xinit /usr/bin/dbus-launch --exit-with-session kodi-standalone
.
Installation von Kodi 18.4 auf Ubuntu 18.04 Buster LTS
Nach einer minimalen Netinst-Installation von Ubuntu Server (keine graphische Oberfläche, nur Konsole) benötigt man aus dem XBMC-PPA das Paket kodi-standalone und zusätzlich einen vollständigen X-Server, den man durch Installation der Pakete xinit, xinput und xserver-xorg erhält. Daneben sollten auch folgende Pakete installiert sein:
- curl
- wget
- sudo
- pulseaudio
- paprefs
- pavucontrol
- lightdm
- lirc (optional für Infrarot-Fernbedienung)
Der Benutzer muss den Gruppen audio, video und plugdev angehören.
Das Starten erfolgt aus dem Terminal mit
startx kodi-standalone
Siehe
- https://www.richud.com/wiki/Ubuntu_Minimal_KODI_Install
- https://kodi.wiki/view/HOW-TO:Install_Kodi_for_Linux
und für den automatischen Start:
- https://kodi.wiki/view/HOW-TO:HOW-TO:Autostart_Kodi_for_Linux
- https://debianforum.de/forum/viewtopic.php?t=171943
- ArchLinux-Doku für Kodi einschließlich Aufwecken durch IR-Remote
Bei mir war der Autostart auf Basis von systemd wegen des Zusammenspiels mit Pulseaudio zu kompliziert. Daher habe ich ein Autostart mit lightdm gemacht. Siehe die ArchLinux-Anleitung dazu.
Trotz Installation der entsprechenden kodi-pvr-XXX-TV-Addon-Packages via aptitude wurde in meinem Kodi die PVR-Addons nicht angezeigt. Daher habe ich in den Einstellungen den Webzugriff erlaubt. Über localhost:8080->Einstellungen->Addons wurden die Addons dann angezeigt und konnten aktiviert werden. Dann wurden sie auch in der normalen Kodi-Oberfläche angezeigt.
Kodi und Audio
Kodi benützt PulseAudio, wenn es vorhanden ist, ansonsten das ALSA-Sound-System. In den Einstellungen => System Einstellungen => Audio findet man unter Audiogeräte, worauf Kodi den Ton ausgibt.
Um MPD und Kodi (als Standalone-Prozess - Probleme gibt es keine, wenn Kodi auf dem normalen GUI-Desktop läuft) gleichzeitig auf einem Computer mit einem PulseAudio-Server einzusetzen, kann man folgendermaßen vorgehen:
- Der PulseAudio-Server muss seine Dienste im Netzwerk (ggf. eingeschränkt auf localhost) anbieten (siehe Audio#Pulseaudio als Pulseaudio-Server im Heimnetz nutzen).
- Die lokalen Clients müssen diesen Server als
default-server
akzeptieren (siehe Audio#Pulseaudio auf einem Rechner von verschiedenen Usern gemeinsam nutzen). - PulseAudio muss vor Kodi gestartet werden. Wenn Kodi mit einem systemd-Service
kodi.service
gestartet wird, kann man eine Datei/etc/systemd/system/pulseaudio.service
anlegen mit folgendem Inhalt:
[Unit] Description = Pulse Audio Server Before = kodi.service sound.target [Service] User = kodi Group = kodi Type = simple # Das habe ich auf https://wiki.debianforum.de/Audiokonfiguration gefunden: BusName=org.pulseaudio.Server ExecStart=/usr/bin/pulseaudio Restart=always RestartSec = 20 [Install] WantedBy = multi-user.target
Siehe zum Zusammenspiel mit PulseAudio:
PVR
Für Live-TV und das Aufnehmen von Videos benötigt XBMC ein Backend. Ein solches ist Tvheadend.
Tvheadend
Vorbereitung: Firmware für TV-Stick/-Karte
Häufig benötigen TV-Sticks oder -Karten unter Linux eine spezielle Firmware, die speziell installiert werden muss.
Beispiel TechnoTrend TT-TVStick CT2-4400:
Hier muss man die Dateien dvb-demod-si2168-b40-1.fw
und dvb-tuner-si2158-a20-01.fw
vom OpenElec-Server herunterladen und ins Verzeichnis /lib/firmware
verschieben.[1]
Installation in Ubuntu
Siehe die Installationsanleitung auf tvheadend.org. Für Ubuntu 15.10 Wily muss man auf die "Release"-Version von 15.04 "vivid" zurückgreifen (Stand: Ende 2015).
Die Installationsanleitung auf ubuntuusers.de ist dagegen veraltet (Stand: 4.8.2015).
Installation in Ubuntu 13.10
Zur Installation von Tvheadend auf Ubuntu 13.10 saucy salamander benötigt man das Paket für die alte "Raring"-Version.[2] Dazu erzeugtt man beispielsweise die Datei /etc/apt/sources.list.d/tvheadend.list
mit folgendem Inhalt:
deb http://apt.tvheadend.org/stable raring main
Außerdem importiert man noch den GPG-Schlüssel:[3]
curl http://apt.tvheadend.org/repo.gpg.key | sudo apt-key add -
Evtl. muss man den User "hts", unter dem der tvheadend-Server läuft, noch der Gruppe video
zuweisen:
adduser hts video
Zu Testzwecken kann man den tvheadend-Server auch im Vordergrund ausführen
sudo service tvheadend stop # Daemon anhalten sudo su hts # als hts-Benutzer anmelden tvheadend
Konfiguration
Unter http://localhost:9981/
- TV-Tuner auswählen
- Network hinzufügen
- das Network beim TV-Tuner/Adapter aktivieren
- mit save Sendersuchlauf starten
- Muxes auf Services spiegeln
- DVB-Services auf Channels spiegeln
- unter Configuration -> Timeshift dieses einschalten und ggf. einen Pfad zur Pufferspeicherung angeben
- unter Configuration -> Recording etwas Vor- und Nachlauf einschalten, damit nicht die Aufnahmen den Anfang und das Ende nicht enthalten.
Zugriff
Die WebGUI von Tvheadend erreicht man unter http://localhost:9981/ .
- Für XBMC braucht man noch das nötige Plugin. Das findet sich z.B. auf http://www.ubuntuupdates.org/package/xbmc/raring/main/base/xbmc-pvr-tvheadend-hts .deb-Paket herunterladen und mit
dpkg -i packagename.deb
installieren.
- Wohl ist die leichteste Variante der Installation des Pakets kodi-pvr-hts über das PPA von Kodi.
In XBMC-Settings unter "Live-TV" Live-TV einschalten, ggf. noch das Tvheadend-Plugin aktivieren (Enabled).
Möglicherweise klappt auch der Zugriff über VLC. Dazu braucht man jedoch das VLC-HTSP-Plugin, das ggf. kompiliert werden muss.
Tvheadend im DockerContainer
Auf des von linuxserver gepflegten Tvheadend-Images lässt sich folgendermaßen ein Docker-Container "tvheadend" erzeugen:
docker create --name=tvheadend --net=bridge -v /media/extData/dh/tvheadendConfig:/config -v /media/extData/dh/videos:/recordings -e PUID=111 -e PGID=44 -p 9981:9981 -p 9982:9982 --device=/dev/dvb linuxserver/tvheadend
Dabei sind
- /media/extData/dh/tvheadendConfig - das Konfigurationsverzeichnis auf dem Host für Tvheadend
- /media/extData/dh/videos - das Verzeichnis, in dem Tvheadend die Aufnahmen speichert
- 111 - die UID des Nutzers hts auf dem Host - anlegen des Benutzers und anzeigen der UID mit
adduser hts id hts
- 44 - die GID der Gruppe video auf dem Host - wird angezeigt durch
getent group video
Bitte darauf achten, auf dem Host die Firmware für den TV-Adapter in /lib/firmware zu legen.
Der Container wird folgendermaßen gestartet:
docker start tvheadend
Siehe
TvHeadend und FritzBox 6490
Es lohnt sich, Tvheadend zwischen Kodi und die FritzBox 6490 Cable zu schalten, auch wenn Kodi direkt auf die Streams der FritzBox zugreifen könnte. Denn Tvheadend bietet Timeshift, (automatische) Aufnahmen und Vieles mehr. Allerdings ist die Konfiguration etwas hakelig. So scheint der Parameter "pass specinv" in den Tuner-Einstellungen von TvHeadend eine wichtige Rolle beim Erkennen der Sender zu spielen.[4] Bei mir hat es mal funktioniert, als ich beim Tuner (zunächst nur einen Tuner auswählen) "Pass specinv" auf "Off" und "Nächste Tuneverzögerung" auf 500 gestellt hatte.
Eine gute Schritt-für-Schritt-Anleitung bei der Konfiguration findet sich in der unteren Hälfte von discourse.osmc.tv. Anstatt "DVBC-2" für den dort beschriebenen FritzWlanRepeater muss man für die 4 Tuner der FritzBox Cable "DVBC-4" auswählen.
Siehe
- https://blag.nullteilerfrei.de/2017/08/07/using-a-fritzbox-6490-as-tuner-for-tvheadend/
- https://ole-hellmers.de/2017/10/tvheadend-mit-der-fritzbox-6490/
- https://tvheadend.org/issues/5231
Wenn das nicht funktioniert, kann man die IPTV-Methode probieren, die aber nur einen der vier DVB-C-Tuner der FritzBox 6490 nutzt:
- https://discourse.osmc.tv/t/howto-german-konfiguration-von-tvheadend-4-2-und-des-sat-ip-servers-avm-fritz-wlan-repeater-dvb-c-unter-osmc/72761
- https://discourse.osmc.tv/t/obsolete-tvheadend-4-0-setup-of-ip-tv-with-osmc-and-the-avm-fritz-wlan-repeater-dvb-c/8471
Einzelne Schritte der Konfiguration von TvHeadend mit FritzBox 6490
Vorbild für folgende Schritte: https://discourse.osmc.tv/t/howto-german-konfiguration-von-tvheadend-4-2-und-des-sat-ip-servers-avm-fritz-wlan-repeater-dvb-c-unter-osmc/72761
- Aufruf der Weboberfläche http://RECHNER:9981
- Einrichten der Benutzeroberfläche:
- Configuration -> General -> Base
- TvheadendServerName: TvhRECHNER
- Default Language: Deutsch
- Default View Level: Expert
- Save
- Configuration -> General -> Base
- Einrichten des Benutzers
- Konfiguration -> Benutzer -> Zugriffseinträge
- Hinzufügen
- Benutzername: TVH_BENUTZER
- Ändere Parameter: Alle
- Weboberfläche: ja
- Admin: ja
- Streaming: Alle
- Video Rekorder: Alle
- Erlaubte Netzwerke: 0.0.0.0/0,::/0
- Ansichtsmodus: Experte
- Konfiguration -> Benutzer -> Zugriffseinträge
- Benutzer Passwort geben
- Konfiguration -> Benutzer -> Passwörter
- Hinzufügen
- Benutzername: TVH_BENUTZER
- Passwort: PASSWORT
- Persistent Authentication: Aktiviert
- Konfiguration -> Benutzer -> Passwörter
- Den Allgemein-Benutzer löschen
- Konfiguration -> Benutzer -> Zugriffseinträge
- Benutzer '*' auswählen
- Löschen
- Ja
- Konfiguration -> Benutzer -> Zugriffseinträge
- Die Fritzbox 6490 als Tuner einschalten
- Konfiguration -> DVB-Inputs -> TV-Adapter -> Fritzbox 6490 Cable (Ordnersymbol)
- Tuner Konfiguration: DVBC-4 (für 4 Kabel-Tuner, die in der Fritzbox 6490 verbaut sind)
- RTP/AVP/TCP transport supported: nein
- Schneller Eingangswechsel: nein
- Full Mux Rx mode unterstützt: ja
- Speichern
- Konfiguration -> DVB-Inputs -> TV-Adapter -> Fritzbox 6490 Cable (Ordnersymbol)
- Die einzelnen Tuner einrichten (viermal wiederholen, wenn man alle Tuner will)
- Konfiguration -> DVB-Inputs -> TV-Adapter -> Fritzbox 6490 Cable (Ordnersymbol) -> SAT>IP Tuner #X
- Aktiviert: ja
- Over-the-air-EPG: ja
- Netzwerktyp: DVB-C
- Initiale Suche: ja
- Leerlaufsuche: ja
- Nächste Tuneverzögerung: 200
- Sende vollen PLAY Befehl: ja
- Erzwinge Abbauverzögerung: nein
- Abonnementgewicht durchreichen: 1
- Pass specinv: nein
- Tuner Bind IP-Adresse: RECHNER_IP (eine der IP-Adressen des Tvheadend-Servers; für jeden Tuner muss eine eigene IP-Adresse angegeben werden; dafür muss der Rechner mehrere IP-Adressen haben)
- Speichern
- Wenn bis hierhier alles richtig ist, dann sollte der entsprechende Tuner in fetter Schrift erscheinen
- Konfiguration -> DVB-Inputs -> TV-Adapter -> Fritzbox 6490 Cable (Ordnersymbol) -> SAT>IP Tuner #X
- Einrichten eines Netzwerks
- Konfiguration -> DVB-Inputs -> Netzwerke
- Hinzufügen
- Typ: DVB-C
- Aktiviert: ja
- Netzwerkname: MY_NETWORK
- Vordefinierte Muxe: DEIN_EIGENER_ORT (es ist fast egal, welche vordefinierten Muxe man auswählt - es muss nur einer der Muxe existieren, denn dieser sendet eine Muxtabelle aller lokal vorhandenen Muxe)
- Netzwerksuche: Neue und geänderte Muxe
- Skip startup scan: nein
- Mux Leerlaufsuche: nein
- Service-IDs als Kanalnummern: nein
- Anlegen
- Verknüpfen des Netzwerks mit den Tunern (viermal wiederholen, wenn man alle Tuner will)
- Konfiguration -> DVB-Inputs -> TV-Adapter -> Fritzbox 6490 Cable (Ordnersymbol) -> SAT>IP Tuner #X
- Netzwerke: MY_NETWORK
- Netzwerktyp: DVB-C
- Speichern
- Konfiguration -> DVB-Inputs -> TV-Adapter -> Fritzbox 6490 Cable (Ordnersymbol) -> SAT>IP Tuner #X
- Ein paar Minuten warten und dann nachschauen, ob die Muxe auch gefunden werden
- Konfiguration -> DVB-Inputs -> Muxe
- Auf Suchergebnis klicken zum Sortieren
- Alle mit Suchergebnis "FEHLER" markieren
- Löschen
- Ja
- Konfiguration -> DVB-Inputs -> Muxe
- Electronic Programming Guide optimieren
- Konfiguration -> Kanal / EPG -> EPG Grabber
- EPG scan time-out in seconds: 30
- Speichern
- Konfiguration -> Kanal / EPG -> EPG Grabber
- Muxe und Kanäle verbinden
- Konfiguration -> DVB-Inputs -> Services -> Services zuordnen -> Alle Services zuordnen
- Verschlüsselte Services einschließen: nein
- Gleiche Namen zusammenführen: nein
- Verfügbarkeit testen: ja
- Typbasierte Tags anlegen: ja
- Anbietername-Tags anlegen: ja
- Netzwerknamen-Tags anlegen: ja
- Services zuordnen
- Geduld: das dauert eine Weile
- Konfiguration -> DVB-Inputs -> Services -> Services zuordnen -> Alle Services zuordnen
- Timeshift einschalten
- Konfiguration -> Aufnahme -> Timeshift
- Aktiviert: ja
- Speichern
- Konfiguration -> Aufnahme -> Timeshift
TvHeadend und Fehlersuche
sudo aptitude install w-scan w_scan -fc -c DE
zeigt vorhandene Muxes (auch die, die Tvheadend nicht selbst findet).[5]
Unter https://helpdesk.kdgforum.de/sendb/kopfstation/M%C3%BCnchen.html findet man die Belegungen der TV-Sender im Vodafone Kabel-Netz.
JSON-RPC API
Auf Kodi kann man auch mittels JSON-API zugreifen. Beispiele:
curl --header 'Content-Type: application/json' --data-binary '{ "id": 1, "jsonrpc": "2.0", "method": "Player.GetActivePlayers" }' 'http://kodibox:8080/jsonrpc'
curl --header 'Content-Type: application/json' --data-binary '{ "id": 1, "jsonrpc": "2.0", "method": "JSONRPC.Version" }' 'http://nuckie.fritz.box:8080/jsonrpc'
Steht der DLNA-Renderer zur Verfügung?
curl --header 'Content-Type: application/json' --data-binary '{ "id": 1, "jsonrpc": "2.0", "method": "Settings.GetSettingValue", "params": { "setting":"services.upnprenderer" } }' 'http://kodibox:8080/jsonrpc'
DLNA-Renderer einschalten:
curl --header 'Content-Type: application/json' --data-binary '{ "id": 1, "jsonrpc": "2.0", "method": "Settings.SetSettingValue", "params": { "setting":"services.upnprenderer", "value":true } }' 'http://kodibox:8080/jsonrpc'
Einen Überblick der vorhandenen Methoden gibt
http://kodibox:8080/jsonrpc
Siehe dazu
- http://kodi.wiki/view/JSON-RPC_API
- http://kodi.wiki/view/JSON-RPC_API/Examples
- Thread mit Beispielsaufrufen
Videos
Manuelles Hinzufügen von Metadaten
Wenn die Videos keine Metadaten enthalten und auch nicht mittels der in Kodi eingebauten Scraper mit Informationen versorgt werden können, kann man durch Hinterlegen einer .nfo
-Datei Metainformationen den Videos beigeben. Die Datei trägt denselben Namen wie die Filmdatei; lediglich die Endung wird durch .nfo ersetzt.
Sie ist regelmäßig eine XML-Datei. Ihre nähere Beschreibung findet sich im Kodi-Wiki.
Addons
Addons selbst entwickeln
Siehe zu Grundlagen:
- https://kodi.tv/create-an-addon
- https://github.com/xbmc/generator-kodi-addon
- http://forum.kodi.tv/showthread.php?tid=160975
- Python-Docs (leider hier nur ältere Version)
Das Addon-Modul "Kodi Plugin Routing" ermöglicht deutlich leichter lesbare Plugins für Kodi zu schreiben.
generator-kodi-addon
Yeoman zusammen mit dem generator-kodi-addon erzeugt einen Rahmen für ein Kodi-Addon:
cd <proj-dir> npm install yo npm install generator-kodi-addon ./node_modules/yo/lib/cli.js kodi-addon
Kontextmenüs
Es lassen sich Addons schreiben, die speziell zusätzliche Menüpunkte zur Verfügung stellen. Diese müssen in der addon.xml einen entsprechenden Extension-Point definieren.[6]
Wenn Addons nur bei den selbst geschaffenen Einträgen Contextmenüs hinzufügen wollen, geht das auch über xbmcgui.ListItem.addContextMenuItems(...).
Video-Addons
Mediathek
Problem mit Debian Stretch
Unter Debian Stretch kann es sein, dass das Mediathek-Modul seit Version 0.7.3 nicht mehr funktioniert. Grund ist eine Abhängigkeit des ab dieser Version eingesetzten BeautifulSoup-Frameworks. Dieses kommt mit dem unter Debian Stretch für Python 2.7 installierten python-html5lib-Modul durcheinander. Das lässt sich durch das Entfernen von python-html5lib
beheben:
sudo aptitude -y remove python-html5lib
Problem mit Kodi 17.0 auf Debian Stretch
Die Mediathek zeigte bei mir nach dem Update auf Kodi 17.0 keine Daten zu den Filmen an. In den Logs fand sich folgender Fehler:
Exception ERROR: TypeError ERROR: : ERROR: "'NoneType' object is not callable" ERROR: in ERROR: 'lxml.etree._ExceptionContext._store_raised' ERROR: ignored
Abhilfe schaffte die Ergänzung von , "html.parser"
bei der Erzeugung einer Instanz von BeautifulSoup (z.B.
bs = bs4.BeautifulSoup(text, "html.parser")
) in allen Dateien des Plugins Mediathek. Die Dateien findet man durch
grep -R "BeautifulSoup" ~/.kodi/addons/plugin.video.mediathek/*
Siehe dazu auch diesen Thread im Kodi-Forum.
Mediathekview
Ähnlich wie das Desktop-Programm Mediathekview greift das gleichnamige Addon auf die gescrapten Daten des Server-Teils von Mediathekview zu. Das Addon Mediathekview scheint damit weitaus stabiler zu laufen (jedenfalls unter Kodi 17 Krypton) als die Mediatheken, die unmittelbar auf die einzelnen Sender zugreifen.
Youtube
Das Youtube-Modul scheint auch recht zuverlässig zu funktionieren.
Audio-Addons
Spotify
Mit einem Spotify Premium-Konto kann man Spotify auch auf Kodi benutzen. Dazu nutzt man am besten das Addon Spotify von Marcelveldt.
Fernsteuerungen für Kodi
Siehe
- ↑ Vgl. https://www.linuxtv.org/wiki/index.php/TechnoTrend_TT-TVStick_CT2-4400
- ↑ https://tvheadend.org/boards/5/topics/9660?r=9663#message-9663
- ↑ http://wiki.ubuntuusers.de/Tvheadend
- ↑ Vgl. https://tvheadend.org/issues/5231 .
- ↑ Siehe https://www.naerd.de/fehlende-dvb-c-sender-in-tvheadend/
- ↑ Siehe Näheres unter http://kodi.wiki/view/Context_Item_Add-ons
Tests
- Oberfläche: Korrekte Sprache?
- Tastatur: korrektes Layout?
- Ton?
- Oberfläche?
- Film?
- TV
- Kanäle wechseln
- Aufnehmen
- Aufnahmen sichtbar
- Addons
- öffentlich-rechtliche Mediatheken
- einzeln
- ARD-Mediathek
- BR-Mediathek
- KIKA-Mediathek
- ZDF-Mediathek
- ZDF-tivi-Mediathek
- Mediathekview - enthält alle Mediatheken
- einzeln
- Youtube
- MPD
- öffentlich-rechtliche Mediatheken
- Upnp
- Werden Medien im Netz gefunden?
- Kann z.B. mittels BubbleUpnp Bilder/Filme auf dem HTPC vom Smartphone abgespielt werden?
- Avahi - wird Kodi z.B. von Kore gefunden?
- Fernbedienung
- Laut/Leise
- OK
- Zurück
- Info/Kontextmenü
- Aufnahmetaste
Fehlersuche
CPU-Last im Leerlauf
Es gibt verschiedene Tipps für den Fall, dass Kodi im Leerlauf zu hohe CPU-Last auslöst:
- Umstellung der Oberfläche auf "Estuary"
- Einstellung algorithmdirtyregions auf 3[1] in (neuer) Datei
.kodi/userdata/advancedsettings.xml
einstellen:
<advancedsettings> <gui> <algorithmdirtyregions>3</algorithmdirtyregions> </gui> </advancedsettings>
Naheliegendes
Siehe auch