KodiDisplayInfo - Film und Musik Infos auf einem TFT Displays

KodiDisplayInfo ist ein kleines Python/Pygame Programm, welches die Kodi Media Center JSON-RPC API nutzt um aktuelle Information vom gerade laufenden Film oder Musik auf einem kleinen TFT Display anzuzeigen. Da auf den Displays nur eine begrenzte Anzahl von Pixeln zur Verfügung stehen, meist 320x240 bei 2.8" bzw. 480x320 bei 3.5" Displays, werden nur wenige Information wie Laufzeit und Titel oder Thumbnail angezeigt.

Startscreen

Aktuelles Logo von Kodi
und die Uhrzeit.

Laufzeit

Oben: Aktuelle Uhrzeit, Ende.
Mitte: Laufzeit und Länge.
Unten: Titel.

Film Thumbnail

Status: nicht live.

Entwicklung unterstützen*

Musik Thumbnail

Status: nicht live.

Entwicklung unterstützen*

*Affiliate-Link: Mit einem Kauf über diesen Link, kannst Du meine Arbeit unterstützen, ohne das es Dich einen Cent mehr kostet.

Anwendungsbeispiele: Mediaplayer Box mit Kodi und Raspberry Pi 2 B oder UP Board

Mediaplayer Box Hardware 2014:
Raspberry Pi 2 B + TinyLCD 3.5" + OpenDisplayCase + Festplatte.

Raspberry Pi - Mediaplayer Box

Kodi und KodiDisplayInfo
laufen parallel auf dem
Rapberry Pi 2 B / 3 B oder UP Board.

Mediaplayer Box Hardware 2016:
UP Board + Adafruit PiTFT 3.5" + OpenDisplayCase + Festplatte.

UP Board - Mediaplayer Box

Installationsanleitung

Systemvoraussetzungen

pi@raspberrypi ~ $ sudo apt-get -y install python python-pygame git

Quellcode

git clone https://github.com/bjoern-reichert/KodiDisplayInfo.git

Einstellungen config.txt

[CONFIG]
#Screen Modus: time (default), later thumbnail
SCREENMODUS = time
#Title format: oneline (default), twoline
TITLEFORMAT = oneline
#Time format: minutes (default), kodi (00:00:00)
TIMEFORMAT = minutes

[DISPLAY]
# Possible resolutions: 320x240 (default) or 480x272 or 480x320
RESOLUTION = 480x320
# Set to your Framebuffer /dev/fb1 or /dev/fb2
FBDEV = /dev/fb1

# Setting find unter: Kodi : System → Settings → Services → Webserver → Allow control of Kodi via HTTP
[KODI_WEBSERVER]
# Set it to localhost or IP (192.168.2.101)
HOST = localhost
# Port of the Kodi Webserver
PORT = 8080
# Username
USER = kodi
# Password
PASS =

[COLOR]
# Color for background
BLACK = 000000
# Color for font
WHITE = FFFFFF
# Color for error message
RED = FF0000
# Color for progress bar background
GREEN = 87D31E
# Color for progress bar improvement
ORANGE = E07018

Aufruf

python displayinfo.py

Der Aufruf funktioniert nicht über SSH! (pygame.error: Unable to open a console terminal)

NO KODI ACCESS! Der Webserver von Kodi muss aktiviert werden und die Zugangs-Einstellungen müssen stimmen.

Um beim booten "KodiDisplayInfo" und "Kodi" parallel laufen zu lassen wird ein Start-Script benötigt.

Big Bunny Buck - (c) copyright 2008, Blender Foundation / www.bigbuckbunny.org

Kommentare:

  • icon_user
    22.09.2017 00:52 - Aiello

    Hallo... Find das echte Sahne was du hier gebaut hast, so stell ich mir das auch vor :), aber leider bekomme ich dies nicht Installiert.. Habe ein Raspberry pi3...und libreelc drauf...kann mir das einer weiter Helfen bitte.. oder habt ihr das in Ubuntu laufen oder so? Würde mich riesig um ein wenig Hilfe freuen... Display ist dieses hier Waveshare 3.5 oder Kuman 3.5 Vielen Dank... LG Aiello

  • icon_user
    22.09.2017 19:58 - Björn

    openlec, libreelec funktionieren die Displays nicht, weil entsprechende Module fehlen. Ich empfehle immer das Raspian für RPi. Ob das Kuman 3.5 schon unter Raspbian Stretch funktioniert weiß ich nicht (habe dieses Display nicht), die Anleitung ist hier github.com/goodtft/LCD-show. Für weitere Probleme/Fragen musste Google fragen!

  • icon_user
    03.05.2017 00:09 - Matze

    Hab alles soweit eingefügt und eingestellt. Nun geht es trotzdem leider nicht.

    Das meldet das System als Fehlermeldung. Was kann ich tun?

    ImportError: No module named pygame

  • icon_user
    26.04.2017 20:24 - icedeath82

    Hi ich bin begeistert... Ich nutze eine ganze Zeit schon LCDHype doch das ist recht umständlich in meiner Konfiguration, mein kleines TFT wollte ich schon immer nutzen und siehe da ich habs gefunden... Ich würde gerne helfen denn es wäre schön wenn das Programm zb den PVR bereich erkennen würde und das Layout ändern würde zb. sender-logo, channel name, die Sendung die läuft... desweiteren wäre es super wenn das Menü angezeigt wird eine Eingabe ich ja nicht mal von Nöten... nur das man weiß wo man rum geistert.... Ich habe vor langer zeit den Entwickler von LCDHype beim plugin für kodi geholfen wäre toll wenn man hier was drehen kann.. ich denke dies hier hat auf dauer großes potenzial.

  • icon_user
    26.04.2017 21:02 - icedeath82

    Bei der Wiedergabe von Files bekomm ich ein Error... kann das jemand bestädigen ?? Kodi 17.1

    log

    Traceback (most recent call last):

    File "displayinfo.py", line 215, in

    main()

    File "displayinfo.py", line 186, in main

    draw_videotime.drawProperties(media_title, time_now, speed, media_time, media_totaltime)

    File "/home/pi/KodiDisplayInfo/classes/DrawToDisplay_VideoTime.py", line 129, in drawProperties

    last_space = video_title.rindex(' ', 0, max_word_count);

    ValueError: substring not found

  • icon_user
    11.02.2017 15:20 - Chris

    Bekomm es einfach nicht zum laufen. Bin genau nach Anleitung vorgegangen, aber bei starten erhalte ich den Fehler : Parse Config

    Traceback (most recent call last):

    File "displayinfo.py", line 132, in

    if configParser.get('DISPLAY', 'FBDEV')!="":

    File "/usr/lib/python2.7/ConfigParser.py", line 330, in get

    raise NoSectionError(section)

    ConfigParser.NoSectionError: No section: 'DISPLAY'

  • icon_user
    10.02.2017 20:33 - Schumi

    Hört sich alles sehr gut an. Genau danach suche ich. Nur schade, das das mit der Bedienung über den Touch nicht funktioniert. Dann wäre alles perfekt. Gibt es so eine Art Tutorial für Dummi`s? Ich habe leider auch nicht den Durchblick bei Linux und Python. Hier wird immer davon erzählt, was man noch aktivieren muss und was man zusätzlich noch benötigt. Muss ich noch einen Treiber für das Display installieren und wenn ja, wohin?

  • icon_user
    20.01.2017 20:58 - Uwe

    Hallo, klasse Sache. Gibt es sowas auch für einen ganz "normalen" TFT Bildschirm, der als zweiter Bildschirm am PC angeschlossen ist? Der Bildschirm wird als VGA Bildschirm am PC an den zweiten Monitorausgang angeschlossen. Das wäre sooo genial... :-)

  • icon_user
    20.01.2017 18:36 - noxx

    Werden auch Menüsbezeichnungen angzeigt, so das man über das Display navigieren kann?

  • icon_user
    20.01.2017 19:51 - Björn

    Nein, wenn KodiDisplayInfo und Kodi auf dem selben SBC gestartet werden, fehlt die Touch-Funktion auf dem kleinen tft.

  • icon_user
    21.01.2017 11:21 - noxx

    danke. funktioniert nun alles. hatte ein rechte problem, mit sudo python displayinfo.py gehts.

    das display zeigt mir den mauszeiger an, wie wird der deaktiviert?

  • icon_user
    05.01.2017 12:26 - Markus

    Hallo,

    finde dein kleines Programm hier echt super. :-)

    Aber wirst du demnächst die Variante mit der Anzeige der Thumbnails online stellen?

    Gruß, Markus

  • icon_user
    28.12.2016 20:22 - Siggi

    Hi,

    bei mir läuft das Script leider nicht.

    Ich habe in der config.txt folgendes für FBDEV eingrtragen: FBDEV = /dev/fb1

     

    Führe ich das Script nun aus passiert folgendes:

    kodi KodiDisplayInfo # python2 displayinfo.py

    [info] Parse Config

    [info] Screen Setup 320x240

    [info] Start: KodiDisplayInfo

    Traceback (most recent call last):

    File "displayinfo.py", line 214, in

    main()

    File "displayinfo.py", line 147, in main

    screen = pygame.display.set_mode(getattr(draw_default, 'Screen'+_ConfigDefault['display.resolution'])(), 0, 32)

    pygame.error: No available video device

     

    Ich kenne mich nicht gut mit python aus, aber kann es sein das die Option FBDEV aus der config gar nicht geparst wird?

  • icon_user
    05.07.2016 09:15 - Basti

    Hey,

    schöne Sache!

    Hat sich jemand schonmal gedanken gemacht wie man das an einem Normalen PC nutzen könnte? Evtl über usb arduino + display und die daten über serielle Kommunikation rüberschicken? Denkt ihr das das funktionieren könnte?

  • icon_user
    15.03.2016 15:54 - EaZeE

    Hallo Björn,

    weiß nicht ob ich es hier reinschreiben soll, aber ich mach das jetzt einfach mal ganz frech. ;-)

    Ist es denn möglich den Filmtitel in 2 "Zeilen" aufzuteilen oder vielleicht sogar noch besser von rechts nach links scrollen zu lassen? Bei langen Filmtiteln bspw. LiveTV würde das durchaus Sinn machen.

  • icon_user
    16.03.2016 18:32 - Björn

    Der Screen wird jede Sekunde komplett neu gezeichnet, deshalb wird es nichts mit einer Laufschrift.

    Ich schaue mal, das ich eine weitere Konfiguration einbaue, damit der Filmtitel in 2 Zeilen erscheint oder die Schrift minimal kleiner wird.

  • icon_user
    18.03.2016 00:18 - EaZeE

    Danke für dein Feedback!

    Habe auch mal nach diversen Python "Befehlen" gesucht, bekomme es aber momentan nicht richtig hin, den Titel in 2 Teile zu teilen.

  • icon_user
    29.03.2016 14:10 - EaZeE

    Hallo Björn,

    habe jetzt auch noch ein bisschen rumgespielt, habe den Filmtitel jetzt in 3 Zeilen aufgeteilt.

    Habe mich auch mal an der Coveranzeige versucht, aber daran arbeitest du ja bestimmt schon. TV-Logos funktionieren soweit, bloß mit den Cover aus der Bibliothek hapert es noch ein bisschen, aber wie gesagt, ich kann auch kein python programmieren. ;-)

  • icon_user
    04.04.2016 11:07 - Björn

    Habe nun die Option integriert um den Filmtitel in zwei Zeilen aufzuteilen, bei Filmtitel wie "Die Tribute von Panem 3 - Mockingjay" oder "Die Entführung von Bus 657" klappt dies sehr gut.

    Die "Film Thumbnailanzeige" habe ich nur mal Testweise angefangen, das Interesse ist jetzt auch nicht so stark - mal schauen.

  • icon_user
    12.03.2016 17:51 - EaZeE

    Hallo!

    Sehr gute Idee, genau danach habe ich seit langem gesucht. Funktioniert auch alles soweit einwandfrei, nur eins ist mir aufgefallen.

    Bei Live-TV wird der Filmtitel nicht aktualisiert, Zeiten und die errechneten Zeiten werden alle angepasst. Hab mal in den Code geschaut, kann aber im Prinzip kein Python. :-(

    Ist ja alles nicht allzu schwer nachzuvollziehen, aber ich kann nicht sehen warum der Titel nicht aktualisiert wird.

    Hat da jemand eine Idee?

    Danke schonmal! :-)

Erlaubte HTML-Tags: <strong>, <a href="">, <em>
Info: Kommentar wird nach Bearbeitung zeitnah freigeschaltet.