Abfrage was gerade abgespielt wird

  • Hallo,

    wie kann ich abfragen ob Kodi gerade etwas abspielt und was es abspielt. Gibt es einen Terminalbefehl, vielleicht etwas Ähnliches wie die Befehle zum Steuern von Kodi (kodi-send --action="...") nur eben zum Abfragen was gerade läuft? Oder wird das irgendwo gespeichert in einer Datei wo man es auslesen kann?

    Viele Grüße
    Ralf

  • Neeee, kann man nie nicht! :D


    Spaß Beiseite, ist ein JSON RPC Aufruf.


    Zitat


    5.9.2 Player.GetItem
    Retrieves the currently played item
    Permissions:

    • ReadData

    Parameters:

    1. Player.Id playerid
    2. [ List.Fields.All properties ]

    Returns:
    Type: object
    Properties:

    Quelle: http://kodi.wiki/?title=JSON-RPC_API

  • Hallo zusammen,

    ich würde mich gerne an diese Fragestellung dranhängen.

    ich hab ein kleines Tablet an der Wand und möchte gerne via json den aktuell Titel anzeigen lassen.

    Eingabe im Browser

    Code
    http://192.168.10.39:8080/jsonrpc?request={"jsonrpc": "2.0", "method": "Player.GetItem", "params": { "properties": ["title"], "playerid": 1 }, "id": "VideoGetItem"}


    und die Antwort im Browser:

    Code
    {"id":"VideoGetItem","jsonrpc":"2.0","result":{"item":{"id":310,"label":"Winnetou - Eine neue Welt","title":"Winnetou - Eine neue Welt","type":"movie"}}}

    leider bin ich totaler Anfänger in php/ Programmierung
    wie kann ich diese Abfrage, welche im Browser funktioniert in php erstellen um die Antwort, dann in php weiter nutzen zu können.
    ich habe zig verschiedene Beispiele aus dem Netz versucht, meistens mit "Curl" aber ich bekomm es leider nicht hin.

    Wäre jemand bitte so nett und hilft mir?
    Vielen Dank im Voraus.

  • Wo willst Du genau den Titel anzeigen lassen? Einfach nur auf dem Tablet im Browser? Manuell wenn Du es brauchst oder soll automatisch immer abgefragt werden und wenn etwas abgespielt wird in Kodi?

    Du siehst ja die Antwort von Kodi. Das ist eine JSON Ausgabe und dort steht ja der Titel drin.

    Mein Heimkino

    Externer Inhalt www.speedtest.net
    Inhalte von externen Seiten werden ohne Ihre Zustimmung nicht automatisch geladen und angezeigt.
  • Hallo andy
    Die php seite läuft auf dem Tablet.

    Und ja, wenn Kodi aktiv ist, soll angezeigt werden was abgespielt wird, das wäre die Ideallösung

    Ich wäre erstmal zufrieden wenn ich die Antwort von Kodi in php hätte. Dann könnte ich mit den variablen weiter arbeiten...

  • Was ich nicht ganz verstehe. PHP läuft Serverseitig, nicht Clientseitig. D.h. du musst irgendwo in Deinem Netz einen Webserver stehen haben, wo Du dann von Deinem Tablet im Browser diese Webseite aufrufst. In dieser Webseite is dann der PHP Code wo Du den Filmnamen haben möchtest, der in Kodi abgespielt wird.

    Verstehe ich das richtig?

    Mein Heimkino

    Externer Inhalt www.speedtest.net
    Inhalte von externen Seiten werden ohne Ihre Zustimmung nicht automatisch geladen und angezeigt.
  • Ja, sorry habe mich falsch ausgedrückt.
    Ich habe einen raspi laufen mit php.
    Der hostet die websiten für mein Tablet - auf dem tablet nur die Anzeige.
    Von meinem Homedashbiard will ich auf die Kodi Seite verlinken und dort soll die Filminfo stehen.
    Das normale Webif ist zu gross zu langsam... habe diverse ausprobiert.

    Brauche ausschließlich film und Serie, keine Musik. Wunsch wäre der Titel, cover und Laufzeit.

    Ich versuche seit Tagen (*Schäm) eine php seite zu bauen, welche mir die kodi antworten darstellt.
    Und finde ienfach kein Beispiel, welches auf php basiert um darauf aufzusetzen.
    Wie gesagt, totaler laie darin..

  • Hier ein gaaaaanz einfaches Beispiel:

    Mein Heimkino

    Externer Inhalt www.speedtest.net
    Inhalte von externen Seiten werden ohne Ihre Zustimmung nicht automatisch geladen und angezeigt.
  • Dann stimmt aber irgendwie etwas nicht. Ich habe den Inhalt in eine Datei namens kodi.php geschrieben und auf meinen Webserver gelegt.
    Dann habe ich diese Datei mit meinem Browser aufgerufen. In meinem Fall http://192.168.1.40/kodi.php
    Als Ergebnis bekomme ich dann den abgespielten Titel von Kodi.
    Das klappt definitiv. Das ist aber auch nur ein ganz einfaches Beispiel. Da ist keine Fehlerbehandlung enthalten.

    Mein Heimkino

    Externer Inhalt www.speedtest.net
    Inhalte von externen Seiten werden ohne Ihre Zustimmung nicht automatisch geladen und angezeigt.
  • Hmm, bin jetzt überfragt.
    Ich bin noch auf Kodi 16.x habe mit 17 das DTS problem

    Kann daran etwas hängen, das es bei Dir geht?

    Edit:
    ich habe einen Fehler gemacht... ich hatte den Port in deinem Script nicht angepasst, habe ich übersehen.
    ich bin auf 8019

    ich erhalte jetzt, obwohl ein Film läuft
    Kodi stopped

  • Nein, es hat sich zwar etliches in der json api von 16 nach 17 geändert aber so eine einfache Abfrage geht auch mit Kodi 16.

    Teste nochmal diese Beispiel und poste mal die Ausgaben (Trage in das Script die IP von Deinem Kodi ein)

    Bei mir steht dann z.B folgendes im Browser

    Code
    http://192.168.1.70:8080/jsonrpc?request={"jsonrpc": "2.0", "method": "Player.GetItem", "params": { "properties": ["title"], "playerid": 1 }, "id": "VideoGetItem"}
    {"id":"VideoGetItem","jsonrpc":"2.0","result":{"item":{"label":"King Kong","title":"","type":"unknown"}}}
    Array ( [id] => VideoGetItem [jsonrpc] => 2.0 [result] => Array ( [item] => Array ( [label] => King Kong [title] => [type] => unknown ) ) ) 1
    King Kong

    Mein Heimkino

    Externer Inhalt www.speedtest.net
    Inhalte von externen Seiten werden ohne Ihre Zustimmung nicht automatisch geladen und angezeigt.
  • Es scheint mir so, als wenn in Deiner PHP Version auf dem Pi einiges nicht mit einkompiliert oder disabled ist. So wie es aussieht funktioniert der Aufruf mit file_get_contents nicht.
    Mit dem Aufruf bekommt PHP den Inhalt einer Webseite oder in diesem Fall das Ergebnis einer JSON Abfrage als Variable zurück. Wenn das schon nicht geht, kann der Rest auch nicht gehen.

    Was für eine PHP Version ist denn da installiert?

    Mein Heimkino

    Externer Inhalt www.speedtest.net
    Inhalte von externen Seiten werden ohne Ihre Zustimmung nicht automatisch geladen und angezeigt.
  • Hatte ich vergessen. In der PHP configuration muss allow_url_fopen gesetzt sein
    http://php.net/manual/de/filesystem.configuration.php
    Vieleicht ist das der Knackpunkt.

    Schau mal in Deiner php.ini nach ob Du folgendes findest.

    Code
    ;;;;;;;;;;;;;;;;;;
    ; Fopen wrappers ;
    ;;;;;;;;;;;;;;;;;;
    
    
    
    
    ; Whether to allow the treatment of URLs (like http:// or ftp://) as files.
    ; http://php.net/allow-url-fopen
    allow_url_fopen = On

    Mein Heimkino

    Externer Inhalt www.speedtest.net
    Inhalte von externen Seiten werden ohne Ihre Zustimmung nicht automatisch geladen und angezeigt.
  • ich hatte noch einen Usernamen und pwd drin *kompliziert bei mir. ;)

    wenn ich den rausnehme...

    Code
    http://192.168.10.39:8019/jsonrpc?request={"jsonrpc": "2.0", "method": "Player.GetItem", "params": { "properties": ["title"], "playerid": 1 }, "id": "VideoGetItem"}
    {"error":{"code":-32700,"message":"Parse error."},"id":null,"jsonrpc":"2.0"}
    Array ( [error] => Array ( [code] => -32700 [message] => Parse error. ) [id] => [jsonrpc] => 2.0 ) 1

    edit
    php kann ich gerade nicht sagen. Habe den raspberry vor ein paar Tagen erst installiert - Standard. habe aber die php info Datei noch nicht angelegt...

  • Andi, ich würde sehr gerne mit Dir Stundenlang hier sitzen wollen.. .aber ich muss ins Bett... sonst komme ich morgen nicht in die Gänge. Würde mich freuen, dich morgen Abend hier nochmals anzutreffen.

    Nochmals Vielen Vielen Dank.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!