2kodi - Eine bash Funktion, um Dinge nach kodi zu schicken

Published: by

Ziemlich lange habe ich nach einer Möglichkeit gesucht, Videos auf meinem Rechner unkompliziert am besten per Kommandozeile an meine kodi-Instanz auf meinem Raspberry Pi zu schicken wie ich es ja auch über meinem Smartphone kann (über zB die App Yatse) Hierzu sind zwei Zutaten nötig: texturecache & youtube-dl

Texturecache

auf texturecache bin ich im Arch Linux wiki aufmerksam geworden. Unter Arch Linux kann man texturecache über das AUR installieren. Weitere Informationen findet man auf der github-site des Projekts

Um texturecache beizubringen, dass es mit einer kodi-Instanz auf einem anderen Rechner reden soll, muss man die mitglieferte config-datei in sein homeverzeichnis kopieren:

$ cp /usr/share/texturecache/texturecache.cfg ~

dort muss dann die Zeile

#xbmc.host = localhost

auskommentiert & der host auf dem kodi läuft eingetragen werden. Ab jetzt kann man mit dem befehl texturecache Befehle an kodi schicken. Der Befehl ohne Argument liefert eine Liste der Möglichkeiten.

Für unser Szenario ist die funktion

$ texturecache play <stream>

interessant. Zum Beispiel spielt der Befehl

$ texturecache play http://cdn.media.ccc.de/events/datenspuren/2016/h264-sd/DS2016-7783-deu-Beenden_wir_den_Krieg_der_Instant_Messenger_sd.mp4

diesen Vortrag ab.

Was aber, wenn man keinen so schönen direkten Link zum Stream findet? Hier kommt youtube-dl ins Spiel.

youtube-dl

youtube-dl ist das Schweizer Taschenmessser zum abspeichern von Videos. Alle populären distros bieten youtube-dl paketiert an. Infos findet man auf der Hompage von youtube-dl

Von den vielen mächtigen Funktionen von youtube-dl ist für uns die Variante

$ youtube-dl -g <Link>

interessant, die anstatt das Video am übergebenen Link zu speichern, einfach nur den Link des Videostreams ausspuckt.

Ein Beispiel:

$ youtube-dl -g https://vimeo.com/141284601
https://fpdl.vimeocdn.com/vimeo-prod-skyfire-std-us/01/3256/5/141284601/423076560.mp4?token=581ce611_0xef9db30296d81a1ebf48f157956934db715b09b0 

matsch matsch

Dank der Macht von google & etwas herumprobieren habe ich mir folgende bash-funktion zusammengebastelt & in meine .bashrc eingetragen:

function 2kodi(){
texturecache play $(youtube-dl -g $1)
}

meine Kenntnisse, was bash-Programmierung betrifft, sind endenwollend, man kann hier sicher noch einiges optimieren. Für Hinweise bin sehr dankbar.