Zeile 1: |
Zeile 1: |
− | 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. | + | XBMC (umbenannt in "[https://kodi.wiki/view/Main_Page 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 [http://linux.mjnet.eu/post/804/xbmc-pvr-tvheadend-ubuntu-12-04-install/ 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 [http://www.vdr-portal.de/board60-linux/board62-software/board95-xbmc/117253-intelligentes-shutdown-in-xbmc/ dieser Thread zum Wakeup und Shutdown von XBMC], | | Mit [http://linux.mjnet.eu/post/804/xbmc-pvr-tvheadend-ubuntu-12-04-install/ 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 [http://www.vdr-portal.de/board60-linux/board62-software/board95-xbmc/117253-intelligentes-shutdown-in-xbmc/ dieser Thread zum Wakeup und Shutdown von XBMC], |
Zeile 233: |
Zeile 233: |
| Hat man jedoch ein Minimalsystem installiert, werden nicht alle Abhängigkeiten mitinstalliert. Zu installieren ist u.a. | | Hat man jedoch ein Minimalsystem installiert, werden nicht alle Abhängigkeiten mitinstalliert. Zu installieren ist u.a. |
| sudo aptitude install xinit dbus-launch | | 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: | | Gestartet wird Kodi dann von der Kommandozeile so: |
− | /usr/bin/xinit /usr/bin/dbus-launch --exit-with-session | + | /usr/bin/xinit /usr/bin/dbus-launch --exit-with-session kodi-standalone |
− | wobei ich derzeit noch ein <code>sudo</code> hinzufügen muss. Da muss man noch an den Berechtigungen drehen.
| + | . |
| + | |
| + | === 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 |
| + | * [https://wiki.archlinux.org/index.php/Kodi 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 [https://wiki.archlinux.org/index.php/Kodi#Xsession_with_LightDM 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 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. | | 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]] <small>(als Standalone-Prozess - Probleme gibt es keine, wenn Kodi auf dem normalen GUI-Desktop läuft)</small> 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 <code>default-server</code> akzeptieren (siehe [[Audio#Pulseaudio auf einem Rechner von verschiedenen Usern gemeinsam nutzen]]). |
| + | # PulseAudio muss vor Kodi gestartet werden. Wenn Kodi mit einem [[systemd]]-Service <code>kodi.service</code> gestartet wird, kann man eine Datei <code>/etc/systemd/system/pulseaudio.service</code> anlegen mit folgendem Inhalt: |
| + | |
| + | <pre> |
| + | [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 |
| + | </pre> |
| | | |
| Siehe zum Zusammenspiel mit PulseAudio: | | Siehe zum Zusammenspiel mit PulseAudio: |
Zeile 310: |
Zeile 371: |
| ==== Tvheadend im DockerContainer ==== | | ==== Tvheadend im DockerContainer ==== |
| | | |
− | Auf des von linuxserver gepflegten Tvheadend-Images lässt sich folgendermaßen ein Container "tvheadend" erzeugen: | + | 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 | | 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 |
| | | |
Zeile 323: |
Zeile 384: |
| | | |
| Bitte darauf achten, auf dem Host die Firmware für den TV-Adapter in /lib/firmware zu legen. | | 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 | | Siehe |
| * [https://hub.docker.com/r/linuxserver/tvheadend/ Tvheadend auf Alpine-Basis] | | * [https://hub.docker.com/r/linuxserver/tvheadend/ Tvheadend auf Alpine-Basis] |
| * [https://github.com/dreamcat4/docker-images/blob/master/tvh/README.md Tvheadend auf Ubuntu-Basis] | | * [https://github.com/dreamcat4/docker-images/blob/master/tvh/README.md Tvheadend auf Ubuntu-Basis] |
| + | |
| + | ==== 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.<ref>Vgl. https://tvheadend.org/issues/5231 .</ref> 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 [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 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 |
| + | * 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 |
| + | |
| + | * Benutzer Passwort geben |
| + | ** Konfiguration -> Benutzer -> Passwörter |
| + | *** Hinzufügen |
| + | *** Benutzername: TVH_BENUTZER |
| + | *** Passwort: PASSWORT |
| + | *** Persistent Authentication: Aktiviert |
| + | |
| + | * Den Allgemein-Benutzer löschen |
| + | ** Konfiguration -> Benutzer -> Zugriffseinträge |
| + | *** Benutzer '*' auswählen |
| + | *** Löschen |
| + | *** Ja |
| + | |
| + | * 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 |
| + | |
| + | * 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 |
| + | |
| + | * 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 |
| + | |
| + | * 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 |
| + | |
| + | * Electronic Programming Guide optimieren |
| + | ** Konfiguration -> Kanal / EPG -> EPG Grabber |
| + | *** EPG scan time-out in seconds: 30 |
| + | *** Speichern |
| + | |
| + | * 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 |
| + | |
| + | * Timeshift einschalten |
| + | ** Konfiguration -> Aufnahme -> Timeshift |
| + | *** Aktiviert: ja |
| + | *** Speichern |
| + | |
| + | ==== TvHeadend und Fehlersuche ==== |
| + | |
| + | sudo aptitude install w-scan |
| + | w_scan -fc -c DE |
| + | |
| + | zeigt vorhandene Muxes (auch die, die Tvheadend nicht selbst findet).<ref>Siehe https://www.naerd.de/fehlende-dvb-c-sender-in-tvheadend/</ref> |
| + | |
| + | 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 == | | == JSON-RPC API == |
Zeile 363: |
Zeile 560: |
| | | |
| Siehe zu Grundlagen: | | Siehe zu Grundlagen: |
| + | * https://kodi.tv/create-an-addon |
| + | * https://github.com/xbmc/generator-kodi-addon |
| * http://forum.kodi.tv/showthread.php?tid=160975 | | * http://forum.kodi.tv/showthread.php?tid=160975 |
| * [http://mirrors.kodi.tv/docs/python-docs/ Python-Docs] (leider hier nur ältere Version) | | * [http://mirrors.kodi.tv/docs/python-docs/ Python-Docs] (leider hier nur ältere Version) |
| | | |
| Das Addon-Modul "Kodi Plugin Routing" ermöglicht deutlich leichter lesbare Plugins für Kodi zu schreiben. | | Das Addon-Modul "Kodi Plugin Routing" ermöglicht deutlich leichter lesbare Plugins für Kodi zu schreiben. |
| + | |
| + | ==== generator-kodi-addon ==== |
| + | Yeoman zusammen mit dem [https://github.com/xbmc/generator-kodi-addon generator-kodi-addon] erzeugt einen Rahmen für ein Kodi-Addon: |
| + | <pre> |
| + | cd <proj-dir> |
| + | npm install yo |
| + | npm install generator-kodi-addon |
| + | ./node_modules/yo/lib/cli.js kodi-addon |
| + | </pre> |
| | | |
| ==== Kontextmenüs ==== | | ==== Kontextmenüs ==== |
Zeile 407: |
Zeile 615: |
| Das Youtube-Modul scheint auch recht zuverlässig zu funktionieren. | | 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 [https://github.com/marcelveldt/plugin.audio.spotify Spotify von Marcelveldt]. |
| + | |
| + | === Fernsteuerungen für Kodi === |
| + | Siehe |
| + | * https://www.nightprogrammer.org/reviews/beste-fernbedienung-raspberry-kodi/ |
| + | |
| + | === Reaktion auf Kodi-Events === |
| + | |
| + | Siehe |
| + | * https://kodi.wiki/view/Add-on:Kodi_Callbacks |
| ------ | | ------ |
| <references/> | | <references/> |
Zeile 446: |
Zeile 668: |
| ** Aufnahmetaste | | ** 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<ref>siehe https://discourse.coreelec.org/t/idling-kodi-on-ce-8-90-3-consumes-48-1x-cpu-resources/652/9</ref> in (neuer) Datei <code>.kodi/userdata/advancedsettings.xml</code> einstellen: |
| + | |
| + | <pre> |
| + | <advancedsettings> |
| + | <gui> |
| + | <algorithmdirtyregions>3</algorithmdirtyregions> |
| + | </gui> |
| + | </advancedsettings> |
| + | </pre> |
| == Naheliegendes == | | == Naheliegendes == |
| | | |
Zeile 452: |
Zeile 689: |
| * [[DVB-C]] | | * [[DVB-C]] |
| * [[Linux-Tipps#Infrarot-Schnittstelle]] | | * [[Linux-Tipps#Infrarot-Schnittstelle]] |
| + | * [[Video]] |
| ------ | | ------ |
| <references/> | | <references/> |