Posts by Maniac

    carel : Danke für den Hinweis. Baue ich ein.


    swer : Blau ist nicht mehr zum Beenden, sondern für die Optionen. Dort ist bisher nur eine Kapitel Anzeige/Auswahl implementiert. Bei Dateien ohne Kapitel ist es derzeit leer. Da kommt aber noch ein bischen mehr rein. Bei Pause beendet sich mpv bei der blauen Taste? Das ollte eigentlich nicht passieren, eventuell hab ich da was im Key Handling übersehen.


    Die Stop und Zurück Taste haben im Code das gleiche Verhalten. Menü->Wiedergabe beenden sollte auch das gleiche tun.


    SVDRP wird nur genutzt um dem Plugin ein PLAY Kommando geben zu können. Beim beenden des Players kann da nichts blocken, kann aber gut sein das das mit dem OSD zusammenhängt wenn die Remote Timer ihre Nachricht ans OSD nicht loswerden und diese dann blocken.


    Wenn du den VDR über DETA / ATTA retten kannst vermute ich das der mpv Shutdown irgendwo hängenbleibt. Passiert das nur in Verbindung mit dem OSD?

    3PO : Ich konnte dein Problem jetzt nachstellen, aus irgendeinem Grund macht libmpv hier anscheinend etwas anders als mpv cli. Die Ursache konnte ich aber noch nicht finden. Du kannst aber erstmal direkt angeben was zur Ausgabe genutzt wird und im Setup Stereo Downmix aktivieren. Also z.B. -a alsa:device=[hdmi:CARD=NVidia,DEV=7]


    swer : Parameter -s wird jetzt genutzt um load-scripts=no zu setzen, bitte probier mal ob es funktioniert. Ich hatte jetzt kein mpv LUA zur Hand um das zu testen.


    @All: Funktioniert es bei euch ohne -a und dem in der asound.conf konfigurierten Default device? Das hatte nämlich bei meinen Tests für 3PO auch nur auf cli und nicht im Plugin funktioniert.

    @sewr: Mir ist gerade aufgefallen das Scripts doch automatisch geladen werden:
    --load-scripts=<yes|no>
    If set to no, don't auto-load scripts from the scripts configuration subdirectory (usually ~/.config/mpv/scripts/). (Default: yes)

    3PO : Eigenartig, dann sollte das eigentlich auch mit dem Plugin funktionieren. Ich guck mir nochmal an ob da mit der Parameter Übergabe irgendwas falsch laufen kann. Du kannst aber nochmal versuchen als Parameter "-a alsa:device=[pcm.stereo]" zu setzen.


    swer : Das Script sollte nach meinem Verständnis gar nicht erst geladen werden, laut mpv Manual muss man jedes Script mit --script übergeben. Ist das ein selbstgeschriebenes LUA-Script? Wenn du es verwendest übergibts du es dann per --script oder passierte das vorher auch schon automatisch?


    Imsadi : xineliboutput wird nicht untersützt (auch wenn es funktonieren könnte). Wenn du möchtest kannst du aber mal einen Backtrace posten, dann kann ich mal drauf gucken ob da eine einfache Lösung möglich ist.

    Der Parameter muss in einem Format sein wie mpv in versteht. Das -a vom mpv_plugin wird als --ao direkt an den mpv player durchgereicht. Du kannst mal -a alsa:device=pcm.stereo probieren.


    Der Segfault im graphtft passiert auch erst wenn der mpv player schon wieder am beenden ist. Anscheinend bekommt graphtft nicht schnell genug mit das der Player aus ist und versucht weiterhin den Status anzuzeigen.

    Danke für die Übersetzungen.


    Mit der alsa Konfiguration meinte ich die vom mpv-Plugin (Parameter -a). Wenn nichts angegeben wird, wird alsa:device=default benutzt. Falls das nicht passt gibt's keinen Ton, Video sollte aber ab 0.0.4 normalerweise trotzdem starten.


    Mich wundert aber auch der doppelte / bei dir im Log. Hast du da eventuell zwei angegeben beim Filebrowser root dir?

    Fix für graphtft ist im git.


    3PO : Hast du das über den Filebrowser oder SVDRP gestartet? mpv meldet er findet die Datei nicht, auch alsa scheint nicht richtig konfiguriert zu sein.
    Eventuell kommt mpv auch nicht mit den beiden / im Pfad klar.

    Code
    1. Jul 04 09:01:39 [vdr] [9899] [mpv] playing //mnt/storage/film/Movies/home.mp4_
    2. Jul 04 09:01:39 [vdr] [17351] [mpv]: Playback open error: Datei oder Verzeichnis nicht gefunden__
    3. Jul 04 09:01:39 [vdr] [17351] [mpv]: Failed to initialize audio driver 'alsa'__
    4. Jul 04 09:01:39 [vdr] [17351] [mpv]: Could not open/initialize audio device -> no sound.__

    Den Menü-Eintrag könnte ich als Argument konfigurierbar machen.dann könnte dort jeder selbst angeben wie es im VDR Menü angeziegt werden soll. Default würde dann MPV bleiben.


    Im mpv-Plugin selbst wird es keine weitere Verzeichniskonfiguration im Filebrowser geben. Das mpv-Plugin ist für mich eher ein Service-Plugin, welches den mpv-Player als Möglichkeit für andere Plugins zur Verfügung stellt. Im Code ist der Filebrowser schon komplett entkoppelt (er startet den mpv-Player z.B. selbst über das Service Interface des Plugins).
    Ich plane noch ein weiteres Plugin zu veröffentlichen (vdr-mediacenter) mit dem dann verschiedene Verzeichniskonfigurationen möglich sind. Hier soll dann auch der Filebrowser mit für verschiedene Verzeichnisse eingebunden werden können. Zusätzlich gibt es einen Verzeichnis-Scanner der der die gefunden Medien in einer Datenbank ablegt und so die verschiedensten Filter ermöglicht.
    Die Struktur wird dabei in einer xml festgelegt.
    Teile davon sind schon fertig (hatte ich vor langer Zeit schonmal für das play-Plugin gebaut), aber nie veröffentlicht da zu der Zeit um das alles vernünftig darzustellen, jede Menge Patches für die Skin-Plugins nötig waren.
    Ich habe aber vor das Plugin wieder zu beleben und auf den aktuellen Stand zu bringen. Für die grafische Anzeige der ganzen Infos wird dann skindesigner genutzt. Bei den Scrapern will ich, wenn es klappt wie ich mir das vorstelle, auf scraper2vdr setzen. Derzeit sind dort rudimentäre, eigene Scraper implementiert.
    Da der Wunsch nach mehreren konfigurierbaren Verzeichnissen aber bereits mehrfach aufkam, bin ich aber jezt am überlegen erstmal eine Version des Plugins zu bauen, die zumindest schon die xml Config, Filebrowser und Verzeichnis Scanner enthält.


    Ps: git auf vdr-developer ist da. Im Laufe des Tages kommt dort auch Inhalt rein.

    Schön das es nun läuft, woran lag es den genau?


    1. Hast du Passthrough aktiv? Falls ja, da lässt sich die Lautstärke nicht verändern. Falls nein muss ich mal gucken ob ich da im Code was kaputt gemacht habe.


    2. Skalierung ist noch nicht eingebaut. Falls das mit mpv überhaupt so möglich ist, kommt es in einer der zukünftigen Versionen.

    Did you used the 0.0.3 or 0.0.4?


    The 0.0.4 has some further improvements for the shutdown of the player.


    You can set the browser root dir with the -b argument. The browser shouldn't already go higher than this. For the jump to root dir we need to find a free key. Yellow is already assigned to shuffle and for the other color keys I've already plans.

    Ok, mpv sieht da gut aus.
    --list-options zeigt nur den hwdec an, mit -v sieht man auch die beiden vo: vdpau vdpau-gl-x11 vdpau-hwaccel


    Normalerweise sollten alle 3 da sein oder keiner, sofern man nicht zuviel am configure rumgespielt hat ;)


    Ist euer X11 Display eventuell nicht unter 0.0 und die DISPLAY Environment Variable nicht gesetzt? Falls ja versuche mal DISPLAY entsprechend zu setzen, so dass es auch für den VDR gültig bleibt, alternativ kannst du aber auch den Default in config.c anpassen. Steht recht weit oben: X11Display = ":0.0";
    Dort einfach die Zahlen entsprechend anpassen.

    --ao und --vo sind Parameter für mpv selbst, im Plugin musst du den Wert mit -a bzw. -v übergeben.


    Bei Nvidia und softhddevice brauchst du -v und -h nicht angeben, da sollte der Standardwert vdpau passen. Ist dein mpv mit vdpau Support kompiliert? Gib mal mpv -v auf der Konsole ein und guck mal ob bei den Features vdpau dabei steht.


    Welches Format hat deine Video Datei? Eventuell kommt mpv damit auch nicht klar.


    Du könntest auch noch versuchen im Makefile von vdr-mpv die # CONFIG := -DDEBUG zu entfernen und das Plugin damit neu bauen und installieren. Dann gibt es einige Log Ausgaben von mpv die helfen könnten das Problem zu lokalisieren.


    Ich verstehe das so, dass die nur das Menü abgeschafft haben. Das Abspielen der Scheibe selber sollte also noch gehen. Bleibt die Frage wie man da dann Tonspur und Untertitel einstellen soll.


    Müsste man mal testen, für den Titel der ohne Menü abgespielt wird gab es zumindest diverse Parameter um das automatisch machen zu können. Audio und Untertitel würden dann erstmal über die Standard-Sprachen die sich als Argumente vom mpv-Plugin übergeben lassen, festgelegt. Ändern kann man sie dann während der Wiedergabe über die normalen VDR Menüs für Audio und Untertitel. Zugriff auf die Extras hätte man dann aber in dem Fall nicht.


    Ich überlege gerade wie das gut umzusetzen wäre und gleichzeitig das erste Menü weg kann. Ich müsste, am besten ohne vorher die Disc zu mounten, feststellen ob es sich um DVD, Bluray oder Audio handelt und dann dementsprechend den Playstring bauen. Dann könnte man im Filebrowser z.B. auf Rot legen das die Disc abgespielt wird.


    Edit: Noch ein paar weitere Gedanken: Disc mounten, testen ob DVD oder Bluray Struktur vorhanden. Wenn nicht Inhalt im Filebrowser anzeigen. Jetzt fehlt nur noch eine Möglichkeit vor dem mount herauszubekommen ob es sich um eine Audio CD handelt.
    Edit 2: libcdio könnte man dafür benutzen. Ich werde da mal ein bischen basteln.


    Kannst du das OSD-Problem irgendwann mal so beschreiben, dass es ein außenstehender auch versteht? Es muss dafür doch eine saubere Lösung geben. Schlimmstenfalls könnte sich herausstellen, dass dem VDR eine Funktion fehlt.


    Taugt mpv eigentlich auch als Internet-Radio-Player? Gerade dafür bräuchte ich eine Lösung.


    Für die Ausgabe des OSD wird ein OsdProvider benötigt, welcher dann ein Osd Objekt erzeugt. Über dieses Osd Objekt wird dann das Osd über das Ausgabe-Plugin angezeigt. Da, wenn mpv läuft, softhddevice im Suspend Mode ist, kann softhddevice nicht weiter für die Ausgabe genutzt werden. Daher erstellt vdr-mpv einen eigenen OsdProvider der das Osd in eine eigene Osd Klasse leitet, welche dann die Daten in einen mit mpv geteilten Speicherbereich schreibt. Über die mpv API wird dann der Inhalt dieses Speichers von mpv als Osd angezeigt. Beim beenden wird der OsdProvider wieder beendet, wenn noch ein offenes Osd vorhanden ist, wird aber das Osd Objekt noch nicht gelöscht (wenn ich das tue gibt es einen Segfault, weil VDR weiterhin versucht dieses Osd Objekt zu nutzen). Derzeit gibt es im VDR nur die Möglichkeit abzufragen ob irgendein Osd geöffnet ist, es ist nicht möglich zu sehen von welchem Typ dieses Osd ist und es gibt keine direkte Möglichkeit dem VDR mitzuteilen das er das Osd schliessen soll.
    Der aktuelle Workaround blockt daher alle weiteren Schreibzugriffe sobald der mpv Player beendet wurde um Segfaults zu verhindern. Das lässt aber ein unsichtbares Osd zurück, da für den VDR das Osd immernoch vorhanden ist. Um das zu verhindern teste ich uerst ob noch ein Osd offen ist, falls ja sende ich zuerst einen druck auf die Menü-Taste. Dadurch wird ein offenes hauptmenü geschlossen, sollte eine andere Art Osd offen sein, wird dieses geschlossen und ein neues Hauptmenü geöffnet. Um das neue Hauptmenü wieder loszuwerden sende ich direkt danach einen druck auf die Zurück-Taste. Eine Prüfung ob ein neues Menü nachdem drücken der Menü-Taste aufgegangen ist, habe ich leider nicht. Da die gesendeten Tastendrücke erst ausgeführt werden nachdem alle meine Dekonstruktoren durchgelaufen sind.


    Internet-Radio müsste gehen, hab ich aber noch nicht getestet. Du kannst mal versuchen die Stream-Url in eine Text-Datei zu schreiben und dieser Datei die Endung .playlist geben und diese dann abzuspielen.
    Wenn mpv mit dem Stream klarkommt, sollte das ganze dann abgespielt werden.
    Wenn du eine m3u für den Stream hast kannst du diese auch benutzen.

    Ja, da waren noch andere Optionen drin.


    Ich bin mir noch nicht sicher was ich mit dem Menü mache. Derzeit dient es ja nur noch zum Aufruf des Filebrowsers oder DVD/Audio CD. DVD/Bluray Menü ist aktuell in mpv deaktiviert, eine Erkennung um was für eine Disc es sich handelt fehlt auch noch. Eventuell kommt das Menü zukünftig ganz weg, oder es lässt sich per Farbtaste öffnen und standardmäßig geht direkt der Filebrowser auf, oder konfigurierbar.


    Was sind eure Ansichten dazu? Benutzt ihr dort was anderes als den Filebrowser?

    Da sich wieder viel getan hat gibt es nun wieder eine neue Version. Dies wird wahrscheinlich die letzte Version sein die im Portal als Anhang veröffentlicht wird, da ich meine letzte große Baustelle abgeschlossen habe und demnächst ein öffentliches git zur Verfügung stellen werde.


    Die wichtigsten Änderungen aus der HISTORY


    Bei der deutschen Übersetzung musste ich feststellen das gerade im Player Bereich viele englische Begriffe unterwegs sind. Falls da jemand elegantere Übersetzungen hat oder noch fehlende Teile übersetzt nehm ich diese gerne an. Übersetzungen in andere Sprache ist natürlich auch gern gesehen.


    Die mpv devs haben leider im git die kompletten Disc Navigation Features deaktiviert. Im vdr-mpv Plugin lasse ich die Sachen aber vorerst drin, da es ja mit älteren Versionen von mpv noch wunderbar funktioniert.