Zitat
Original von NaNoo
Hi!
Ich habe die gleichen Probleme im VCH mit dem OSDServer SVDRP Befehl zu xineliboutput.
Allerding scheint es an dem xineliboutput plugin zu liegen (cvs 1.0.90)!!!
Logge ich mich manuell mit 'telnet localhost 2001' auf den OSDServer ein und sende 'PLUG xineliboutput PMDA /tmp/vch.pls' springt xineplugin zwar kurz an, aber nach kurzem, schwarzen Bildschirm kehrt er zum LiveTV zurück.Das ist das gleiche Phänomen wir beim Abspielen vom VCH aus!
Ich habe es auch schon versucht direkt Videos ohne pls abzuspielen 'PLUG xineliboutput PMDA /tmp/test.mp4', aber das zeigt die gleiche Reaktion.
Wenn man in den xineliboutput Quellen stöbert, sieht man, dass beim Abspielen von einzelnen Videodateien xineliboutput selbst eine Playlist erstellt und die dann öffnet. Ich denke, damit ist es auch unwahrscheinlich das es ander vch.pls vom VCH liegt!
Wie schon vorher von iNOB angemerkt, funktioniert es über das normal VDR Menu und xineliboutput prima eine pls oder mp4 abzuspielen, nur über die OSDServer Schnittstelle nicht. An den Codecs kann es also nicht liegen...
Ich weiß auch nicht, in wie weit der OSDServer Befehl PMDA im cvs von xineliboutput getestet wurde. Oder ist der noch buggy?
NaNoo
Alles anzeigen
Hi!
Nach längerem stöbern in den Quellen von xineliboutput steht nun fest, dass es tatsächlich an dem xineliboutput plugin (cvs 1.0.90) liegt!
Das Problem ist folgendes:
Nach dem Ausführen von 'PLUG xineliboutput PMDA /tmp/vch.pls' liest xineliboutput die Playlist (.pls) ein und erkennt auch korrekt die enthaltene Videodatei (File1=...) und den Titel (Title1=). Danach wird ein OpenPlayer erzeugt und entspechend mit der Videodatei gefüttert.
Anschließend springt der XinelibPlayerControl Prozess an, erkennt, dass eine Datei zum Abspielen in der Queue liegt.Jedoch wird das eigentliche Abspielen des Videos nicht durchgeführt, weil der XinelibPlayer zu dem Zeitpunkt überhaupt nicht aktiv ist. Der xinelibPlayerControl Prozess geht bei vorliegender Datei in der Queue und nichtaktiven Player von einem EndOfStreamReached aus. Also für ihn ist das Abspielen am Streamende erreicht und der Player ist beendet.
Zusammengefasst ist also der Einsprungpunkt nach dem PMDA Kommando in xineliboutput falsch, weil der Player noch nicht läuft oder im XinelibPlayerControl Prozess fehlt eine Behandlung für den Fall "File in der Queue->Player läuft nicht->kein EndOfStreamReached".
Allerdings gibt es ein Workaround mit dem es trotzdem funktioniert.
Enthält die Playlist zwei Einträge, die auch identisch sein können, dann wird der zweite Eintrag ohne Probleme abgespielt.
Für den Fall eines zweiten Files in der Playlist wird der erste Eintrag wegen des xineliboutput Fehlers wie oben beschrieben nicht abgespielt. Der zweite Eintrag löst nach dem ersten EndOfStreamReached in der xinelibPlayerControl ein NextFile aus, was den XinelibPlayer erneut (in unserem Fall erstmalig) aktiviert. Danach läuft es wie es soll.
Ein vch.pls müsste dann z.B. so aussehen:
File1=/tmp/podcast.mp4
Title1=Video1
File2=/tmp/podcast.mp4
Title2=Video1
Mit dem Fehler wird also hier nur der zweite Eintrag abgespielt.
NaNoo