XBMC: Unterschied zwischen den Versionen

Aus CodicaTipps
Zur Navigation springen Zur Suche springen
Zeile 11: Zeile 11:
  
 
* http://penzin.net/kodi.html
 
* http://penzin.net/kodi.html
 +
* [https://wiki.debian.org/KodiBuildingFromSource ältere Beschreibung im Debian-Wiki]
  
Statt des dort beschriebenen Autostarts kann man es auch mit [http://kodi.wiki/view/Archive:HOW-TO:Autostart_Kodi_for_Linux#Add_a_new_systemd_script Systemd-Service] versuchen. Bitte beim kodi.service-Script auf den korrekten Pfad in <code>/opt/kodi/bin</code> achten. Nicht zu vergessen sind auch die für kodi erforderlichen Gruppen:
+
Statt des bei Penzin beschriebenen Autostarts kann man es auch mit [http://kodi.wiki/view/Archive:HOW-TO:Autostart_Kodi_for_Linux#Add_a_new_systemd_script Systemd-Service] versuchen. Bitte beim kodi.service-Script auf den korrekten Pfad in <code>/opt/kodi/bin</code> 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
 
   sudo usermod -a -G cdrom,audio,video,plugdev,users,dialout,dip,input,netdev kodi
  

Version vom 1. Oktober 2017, 19:01 Uhr

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

Auch auf einem Debian lässt sich die aktuelle Version von Kodi kompilieren und installieren:

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!

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/ .

  • 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 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.

Siehe

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

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:

Das Addon-Modul "Kodi Plugin Routing" ermöglicht deutlich leichter lesbare Plugins für Kodi zu schreiben.

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.[4]

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.


Naheliegendes

Siehe auch