XBMC

Aus CodicaTipps
Zur Navigation springen Zur Suche springen

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:

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

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