[ANNOUNCE] runvdr extreme 0.4

  • Hmm... ich bekomm mit der aktuellen Version 0.4.2 (mit oder ohne Patch) beim Beenden des VDR's (v1.6.02) ein:

    Code
    .../usr/bin/runvdr: line 705:  6184 Speicherzugriffsfehler  "${VDRCOMMAND[@]}"
    oder
    .../usr/bin/runvdr: line 707:  6446 Maschinenbefehl  "${VDRCOMMAND[@]}"

    Wird scheints was nicht sauber beendet?! :schiel


    Gruß
    iNOB

    Einmal editiert, zuletzt von iNOB ()

  • Danke für die Aufklärung. Dann sollte ich eventuell mal was aus der 1.7er Reihe für die VGA2SCART-Maschinen probieren.


    Thx
    iNOB

    Einmal editiert, zuletzt von iNOB ()

  • Hallo Zusammen,


    ich schaffe es leider nicht, den XServer mittels runvdr zu starten.
    Wenn ich runvdr aufrufe, sehe ich sofort den Startversuch des XServers, allerdings beendet sich diese und auch der runvdr Prozess ist weg.


    Wenn ich den XServer von Hand starte mit dem Command welcher in der runvdr.conf definiert wurde, dann lüppt das wunderbar.


    Woran könnte das liegen? hatte das Problem schonmal jemand?


    VG
    Marcus

  • Wenn es wirklich der X-Server ist, sollte die Konsolen-Ausgabe oder die Xorg.0.log hinweise geben. Es kann aber auch VDR sein, der sich sofort beendet - dann wird auch der X-Server wieder beendet. Das würde immerhin erklären, warum die runvdr auch bereitwillig schluss macht, das soll sie nur bei fatalen VDR-Fehlern machen. Im Fall von VDR-Fehlern ist das syslog die beste Informationsquelle.


    Gruß,


    Udo

  • Hallo Udo,


    scheinbar wird der VDR getötet, also das Plugin finden welches das verursacht.


    VG
    marcus

    Einmal editiert, zuletzt von Marcus ()

  • Hallo Zusammen,


    Problem ist gelöst, ich Depp hatte für den VDR den Daemon Mode aktiviert.
    Das entfernt und siehe da, alles funktioniert wie gewünscht ;)


    VG
    Marcus

  • Die Frage wurde zwar weiter oben schon gestellt, aber ich komme mit der Antwort nicht klar.


    Ich verwende das runvdr extreme Script mit diesem x-server Parameter:


    Zitat

    XSERVER="/usr/bin/X -nolisten tcp -config /etc/X11/xorg-runvdr.conf :0"


    Ich würde nun gerne xine mit dem vdr-xine Plugin testen.


    Kann mir jemand sagen wie ich es schaffe xine innerhalb des xserver laufen zu lassen so wie dies mit dem xineliboutput Plugin funktioniert?


    Geht das mit dem oben beschriebenen Ansatz (runvdr-sxfe von Marcus) wirklich?


    Gruß Braumeister

    1) yaVDR (1.7.16-12yavdr4)
    2) Vdr 1.7.9 - Debian Lenny Kernel 2.6.31.6 - VDPAU - xine
    3) HW: TT S2-1600, TT-S2-3200

  • Ich hab das mit dem xine-Plugin noch nie getestet, aber prinzipiell sollte es ganz geradlinig laufen. Du startest die runvdr, runvdr startet den X-Server, darin startet VDR, und VDR startet das xine-Plugin.


    Extra starten kannst und brauchst du beim xine-Plugin nichts, da es keinen client/server Modus wie bei xineliboutput mit den -sxfe Programmen gibt.


    Gruß,


    Udo

  • Hallo Udo,


    danke für deinen Hinweis. Das mit dem xine-plugin ist soweit klar.


    Ich muss jedoch auch xine (für die Ausgabe des Bildes auf das TV-Gerät) starten und dieses muss dann auf dem X-Server laufen. Habe in der Zwischenzeit davon gelesen:


    Zitat

    DISPLAY=:0.0 ; xine ...


    Das werde ich noch testen.


    Gruß Braumeister

    1) yaVDR (1.7.16-12yavdr4)
    2) Vdr 1.7.9 - Debian Lenny Kernel 2.6.31.6 - VDPAU - xine
    3) HW: TT S2-1600, TT-S2-3200

  • Wenn du zusätzlich zu VDR noch ein normales xine starten willst, geht das mit den startup/shutdown hooks der neuesten runvdr 0.4.2. Schau einfach mal in der runvdr.conf.exaple das Beispiel zu XSTARTUP() und XSHUTDOWN() an:


    Damit startet vdr-sxfe zyklisch im X-Server neu. xine sollte genauso funktionieren.


    Gruß,


    Udo

  • Hallo Udo,


    danke für die Info. Das kannte ich noch nicht. Es funktioniert auch schon beinahe. Jedoch momentan mit folgendem Problem. Wenn ich den PC starte, so kommt es zu diesem Fehler:



    Wenn ich dann den X-Server mir Alt / Druck / K stoppe und runvdr neu starte, so funktioniert alles bestens.


    Ich habe schon ein einigen Stellen mit sleep versucht Timingprobleme zu finden. Bis jetzt jedoch ohne Erfolg.


    Gruß Braumeister

    1) yaVDR (1.7.16-12yavdr4)
    2) Vdr 1.7.9 - Debian Lenny Kernel 2.6.31.6 - VDPAU - xine
    3) HW: TT S2-1600, TT-S2-3200

  • Wahrscheinlich startet dein xine, bevor das xine-Plugin bereit ist. Das hängt dann davon ab, wie du das XSTARTUP geschrieben hast.


    Die oben als Beispiel angegebene Version startet ja in einer Schleife alle 5s neu, damit würde man darüber weg kommen:


    while true ; do sleep 5; xine .... ; done &


    Man könnte auch zu erst das sleep, dann den Programmaufruf machen, das würde auch einen Moment entzerren.


    Oder, man prüft gezielt auf die Stream-Pipe:


    while [ ! -f /tmp/vdr-xine/stream ] ; do sleep 1 ; done



    Gruß,


    Udo

  • Dank Urigs neuer Funktionen XSTARTUP() und XSHUTDOWN(), habe ich mir meinen Aufruf für vdr-sxfe neugestaltet. Dabei ist auch ein Watchdog der vdr-sxfe neustarten lässt, falls es "TCP: fifo buffer full"-Fehler gibt.



    Das ganze lässt sich sicher auch in externe Dateien auslagern, aber ich hab gern alles an einer Stelle :) - Verbesserungstipps, Logikfehler etc. werden gerne angenommen. Mal sehen wie es sich in der Praxis bewährt...


    Gruss und nochmals Dank an Urig für das geniale Script.
    Marcus

    My VDRs:

  • Ich habe es mit der 5s Schleife eingetragen.


    Wenn ich deinen Vorschlag richtig verstanden habe sollte das in etwa passen:


    Zitat

    function XSTARTUP() {
    while [ ! -f /tmp/vdr-xine/stream ] ; do sleep 1 ; done
    while true ; do sleep 5; /usr/local/bin/xine -A alsa:multi -V xv -r anamorphic --post vdr_video --post vdr_audio --post upmix_mono --post vdr "vdr:/tmp/vdr-xine/stream#demux:mpeg_pes" --fullscreen --verbose=3 > /var/log/xine.log 2>&1; done &
    SXFEPID=$!
    }


    Es fällt auf, dass /tmp/vdr-xine/stream nicht erzeugt wird und dadurch xine nicht startet. Wenn ich die Prüfung auf /tmp/vdr-xine/stream heraus nehme, so kann ich wieder wie oben beschrieben starten.


    Für mich sieht es so aus, als ob das vdr-xine Plugin die notwendigen Einträge erst nach der Funktion XSTARTUP() fertig stellt. Könnte das sein? Wobei die Zeitstempel (Verzeichnis /tmp/vdr-xine und xine.log) eine andere Sprache sprechen.


    Gruß Braumeister

    1) yaVDR (1.7.16-12yavdr4)
    2) Vdr 1.7.9 - Debian Lenny Kernel 2.6.31.6 - VDPAU - xine
    3) HW: TT S2-1600, TT-S2-3200

  • Zitat

    Originally posted by Braumeister


    Wenn du auf das Auftauchen von /tmp/vdr-xine/stream wartest, kannst du danach natürlich direkt xine durchstarten, in dem Fall wäre das sleep dahinter besser aufgehoben.


    Zitat

    Es fällt auf, dass /tmp/vdr-xine/stream nicht erzeugt wird und dadurch xine nicht startet. Wenn ich die Prüfung auf /tmp/vdr-xine/stream heraus nehme, so kann ich wieder wie oben beschrieben starten.


    Beim zweiten darüber nachdenken fällt mir auf, dass [ ! -f ... ] nur für echte Dateien gedacht ist, hier aber wohl Pipes verwendet werden. Versuch statt dessen mal [ ! -e ... ].


    Gruß,


    Udo

  • Leider bringt -e auch keinen Erfolg.


    Zu diesem Zeitpunkt scheint auch das Verzeichnis nicht zu existieren, denn mit


    Zitat

    while [ ! -d /tmp/vdr-xine ] ; do sleep 1 ; done


    wird die Schleife auch nicht verlassen.


    Bzw. bringt auch "ls /tmp/vdr-xine/" einen Fehler. Bisher funktioniert es nur wenn ich ohne Dateiprüfung arbeite sowie runvdr nach dem Booten abbrechen und ein weiteres mal z.B. auf der Konsole tty1 starte.


    Gruß Braumeister

    1) yaVDR (1.7.16-12yavdr4)
    2) Vdr 1.7.9 - Debian Lenny Kernel 2.6.31.6 - VDPAU - xine
    3) HW: TT S2-1600, TT-S2-3200

  • Ich sehe auch gerade, warum: Die Original while-Schleife läuft dank des & am Zeilenende im Hintergrund. Die Schleife davor, die auf das Auftauchen der Datei wartet, aber nicht. Daher wird vdr gar nicht erst gestartet...


    Ungetestet, so könnte es schon eher klappen:


    Code
    function XSTARTUP() {
      {
        while [ ! -e /tmp/vdr-xine/stream ] ; do sleep 1 ; done
        while true ; do 
          /usr/local/bin/xine -A alsa:multi -V xv -r anamorphic --post vdr_video --post vdr_audio --post upmix_mono --post vdr "vdr:/tmp/vdr-xine/stream#demux:mpeg_pes" --fullscreen --verbose=3 > /var/log/xine.log 2>&1
          sleep 5
        done
      } &
      SXFEPID=$!
    }


    Jetzt werden beide Schleifen (alles in { ... } &) nacheinander, und parallel zum VDR-Start ausgeführt.


    Gruß,


    Udo

  • Gratulation,


    die Option mit dem & kannte ich nicht. Nun startet xine fast schon wie gewollt.


    Es fehlt beim initialen Start jedoch die Tastatur. Erst nach einem erneuten Starten funktioniert die Bedienung über Tastatur wie gewohnt.


    Bis auf die Tastenkombination zum Abbrechen des xserver habe ich keine funktionierende Taste gefunden. Selbst die Tastaturkürzel zum Wechseln der Konsole z.B. mit Ctrl / Alt / F1 funktionieren nicht.


    Gruß Braumeister

    1) yaVDR (1.7.16-12yavdr4)
    2) Vdr 1.7.9 - Debian Lenny Kernel 2.6.31.6 - VDPAU - xine
    3) HW: TT S2-1600, TT-S2-3200

  • Zitat

    Original von Braumeister


    Es fehlt beim initialen Start jedoch die Tastatur. Erst nach einem erneuten Starten funktioniert die Bedienung über Tastatur wie gewohnt.


    Bis auf die Tastenkombination zum Abbrechen des xserver habe ich keine funktionierende Taste gefunden. Selbst die Tastaturkürzel zum Wechseln der Konsole z.B. mit Ctrl / Alt / F1 funktionieren nicht.


    Hallo,


    ich hab das gerade mal getestet. Hier gibt es keine Probleme. Voller Tastaturzugriff gleich vom Boot weg.


    Im Prinzip hab ich mich an die Vorgaben von Udo gehalten:



    Im Log findest du nichts Aufschlussreiches?


    Gruß, tomas

Jetzt mitmachen!

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