[Alpha] RPI Ausgabeplugin

  • Ist es eigentlich möglich, das Plugin so zu machen, dass wenn man auf ein anderes Terminal (virtual tty) schaltet die Sound und Videoausgabe des Plugins gestoppt wird?
    Dann wäre es z.B. möglich beim laufenden VDR auf TTY7 (in meinem Fall der Raspbian LXDE Desktop) zu schalten um dort z.B. zu surfen oder Kodi zu starten.


    Das Verhalten ist auch hier im Wiki beschrieben.


    Sorry sollte die Frage schon einmal gestellt worden sein.


    VDR:
    HW: ASUS M3N78-EM (NV-GF8300) • 4GB DDR2 • AMD Athlon II X4 • 32GB SSD • 4TB HDD • 2x Hauppauge WINTV Nova-HD-S2

    SW: easyVDR3.0 64Bit stable based on Ubuntu 14.04 Trusty Tahr • Kodi 17 Krypton • VDPAU • SoftHDDevice

  • Du kannst das Suspendoutput Plugin dazu nutzen um die VDR Ausgabe anzuhalten.


    Claus

    MLD 5.5 mit vdr 2.6 - lirc yaUSBir - Octopus NET S2 - SCR - XFX GeForce 9300 mit Intel E3200 - 2GB RAM - WD Green 12TB HDD - SanDisk 64GB SSD - Lian Li PC-C37B - Samsung LE40A559
    MLD 5.5 mit vdr 2.4 - Raspberry Pi 3 - rpihddevice
    MLD 5.5 mit Squeeze Play - Raspberry Pi 2 - 32GB SD - 7" Touch TFT

  • Du kannst das Suspendoutput Plugin dazu nutzen um die VDR Ausgabe anzuhalten.


    Soweit ich das im Kopf habe, spielt das Suspendoutput-Plugin nur "Schwarz" ab, belegt also immer noch die Resourcen der GPU. Zum Surfen ist das OK, aber Kodi wird so kaum funktionieren.


    Im übrigens sind Terminals & Co dem rpihddevice-Plugin egal, es legt lediglich zwei zusätzliche Layer (Video & OSD) über den Framebuffer. Was daneben, bzw. dahinter läuft, spielt keine Rolle.


    Gruss
    Thomas

  • Hi,


    kodi ließ sich so starten. Ob sich dann allerdings unter kodi auch noch videos abspielen lassen, habe ich nicht ausprobiert.


    Gibt es denn eine andere Möglichkeit die rpihddevice Ausgabe zu suspendieren, ohne den VDR zu stoppen? Oder hast Du da etwas in Planung?


    Claus

    MLD 5.5 mit vdr 2.6 - lirc yaUSBir - Octopus NET S2 - SCR - XFX GeForce 9300 mit Intel E3200 - 2GB RAM - WD Green 12TB HDD - SanDisk 64GB SSD - Lian Li PC-C37B - Samsung LE40A559
    MLD 5.5 mit vdr 2.4 - Raspberry Pi 3 - rpihddevice
    MLD 5.5 mit Squeeze Play - Raspberry Pi 2 - 32GB SD - 7" Touch TFT

  • Gibt es denn eine andere Möglichkeit die rpihddevice Ausgabe zu suspendieren, ohne den VDR zu stoppen? Oder hast Du da etwas in Planung?


    Wenn kein Stream abgespielt wird (also nach einem SetPlayMode(pmNone)), sind keine OpenMAX-Resourcen belegt und omxplayer spielt problemlos Videos ab. Anders schaut es beim OSD aus, dieses ist immer aktiv - das zu ändern habe ich momentan nicht vor.


    Gruss
    Thomas

  • OK, und was bedeutet das nun für mich, als nicht Plugin Entwickler der nur alle paar Jahre mal ein klein wenig C Programmiert ;)
    Also mit anderen Worten, kannst Du mir ein wenig genauer sagen wie ich den VDR dazu veranlassen kann, in diesen Modus zu wechseln?


    Claus

    MLD 5.5 mit vdr 2.6 - lirc yaUSBir - Octopus NET S2 - SCR - XFX GeForce 9300 mit Intel E3200 - 2GB RAM - WD Green 12TB HDD - SanDisk 64GB SSD - Lian Li PC-C37B - Samsung LE40A559
    MLD 5.5 mit vdr 2.4 - Raspberry Pi 3 - rpihddevice
    MLD 5.5 mit Squeeze Play - Raspberry Pi 2 - 32GB SD - 7" Touch TFT

  • OK, und was bedeutet das nun für mich, als nicht Plugin Entwickler der nur alle paar Jahre mal ein klein wenig C Programmiert ;)
    Also mit anderen Worten, kannst Du mir ein wenig genauer sagen wie ich den VDR dazu veranlassen kann, in diesen Modus zu wechseln?


    Ausser mit einem modifizierten suspendoutput-Plugin ist das meiner Meinung nach heute nicht möglich. Persönlich wünschte ich mir eine Art Suspend-Funktion im VDR, aber Klaus hat momentan andere Prioritäten. Plugin-spezifische Implementationen wie z.B. bei softhddevice sind zwar technisch möglich, aber ich bin da nicht so Fan von.


    Gruss
    Thomas

  • Könntest Du mir den Gefalen tun, und nen Blick in die dummy_player.c vom suspendoutput Plugin werfen, und schauen ob Du erkennen kannst was da zu ändern wäre, damit das SetPlayMode(pmNone) aufgerufen wird, anstatt das nen blank-Video abgespielt wird. Zum aktivieren des suspend Modus wird lediglich ein cDummyPlayerControl Objekt erzeugt und zum verlassen des Suspend die Close Funktion aufgerufen. Eigentlich sollte die nötige Anpassung doch recht trivial sein, wenn ich nur den Durchblick hätte :( Ich vermute, dass das für Dich nur nen paar Minuten einlesen erfordert.


    Claus

    MLD 5.5 mit vdr 2.6 - lirc yaUSBir - Octopus NET S2 - SCR - XFX GeForce 9300 mit Intel E3200 - 2GB RAM - WD Green 12TB HDD - SanDisk 64GB SSD - Lian Li PC-C37B - Samsung LE40A559
    MLD 5.5 mit vdr 2.4 - Raspberry Pi 3 - rpihddevice
    MLD 5.5 mit Squeeze Play - Raspberry Pi 2 - 32GB SD - 7" Touch TFT

  • Könntest Du mir den Gefalen tun, und nen Blick in die dummy_player.c vom suspendoutput Plugin werfen, und schauen ob Du erkennen kannst was da zu ändern wäre, damit das SetPlayMode(pmNone) aufgerufen wird, anstatt das nen blank-Video abgespielt wird.


    SetPlayMode ruft der VDR auf, der lässt sich nicht direkt steuern. Aber mit folgender Änderung gelangen keine Video-Frames zum Ausgabedevice, was deinen Zweck wohl auch erfüllt:

    Diff
    --- suspendoutput-2.0.0/dummy_player.c	2012-04-16 08:48:05.000000000 +0200
    +++ suspendoutput/dummy_player.c	2015-03-26 20:35:16.000000000 +0100
    @@ -39,6 +39,7 @@
     	}
     	bool TimerHandler(void)
     	{
    +  	return true;
       	if(! cDummyPlayerControl::UseBlankImage)
     	DeviceStillPicture(v_mpg_vdrlogo, v_mpg_vdrlogo_length);
       	else


    Gruss
    Thomas

  • Ein weiteres Problem wird dann allerdings noch sein, dass der VDR weiterhin auf LIRC Eingaben reagiert. Wie könnte man das lösen?
    Ein anderer Ansatz wäre über das externalplayer-Plugin ein Skript zu starten, welches VDR stoppt und Kodi startet. Das Skript sollte anschließend mit einer Schleife überwachen, ob Kodi noch läuft. Wird Kodi beendet soll der VDR wieder gestartet werden.
    Macht natürlich nur Sinn, wenn eventuelle Aufnahmen auf dem Server gestartet werden (also beimClient Server Betrieb). Mit Sat>IP ist der Ansatz nicht so toll.


    VDR:
    HW: ASUS M3N78-EM (NV-GF8300) • 4GB DDR2 • AMD Athlon II X4 • 32GB SSD • 4TB HDD • 2x Hauppauge WINTV Nova-HD-S2

    SW: easyVDR3.0 64Bit stable based on Ubuntu 14.04 Trusty Tahr • Kodi 17 Krypton • VDPAU • SoftHDDevice

  • Könnte man das angepasste suspendoutput-Plugin auch per svdrpsend aktivieren? (PLUG Befehl)


    VDR:
    HW: ASUS M3N78-EM (NV-GF8300) • 4GB DDR2 • AMD Athlon II X4 • 32GB SSD • 4TB HDD • 2x Hauppauge WINTV Nova-HD-S2

    SW: easyVDR3.0 64Bit stable based on Ubuntu 14.04 Trusty Tahr • Kodi 17 Krypton • VDPAU • SoftHDDevice

  • Könnte man das angepasste suspendoutput-Plugin auch per svdrpsend aktivieren? (PLUG Befehl)


    Wenn man es patcht: Suspendoutput per svdrpsend Steuern

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Danke Thomas!
    Ich werde Deinen Patch die nächsten Tage ausprobieren.


    Claus

    MLD 5.5 mit vdr 2.6 - lirc yaUSBir - Octopus NET S2 - SCR - XFX GeForce 9300 mit Intel E3200 - 2GB RAM - WD Green 12TB HDD - SanDisk 64GB SSD - Lian Li PC-C37B - Samsung LE40A559
    MLD 5.5 mit vdr 2.4 - Raspberry Pi 3 - rpihddevice
    MLD 5.5 mit Squeeze Play - Raspberry Pi 2 - 32GB SD - 7" Touch TFT

  • Hi,
    ich habs jetzt mal ausprobiert, mit der Kombination der beiden Pachtes für suspendoutput, lässt sich wunderbar ein hin und her schalten zwischen dem VDR und Kodi realisieren, ohne dass der VDR dafür beendet werden muss.
    Danke dafür!


    (Obwohl dadurch, dass das Plex Plugin mittlerweile auch richtig gut auf dem Raspberry läuft, Kodi bei mir fast gar nicht mehr zum Einsatz kommt.)


    Gruß Patrick

  • Hi Patrick,


    hattest Du's auch mal ohne den Patch von Thomas versucht? Gibt's also Probleme (z.B. beim Abspielen von Videos) wenn der Patch fehlt?


    Claus

    MLD 5.5 mit vdr 2.6 - lirc yaUSBir - Octopus NET S2 - SCR - XFX GeForce 9300 mit Intel E3200 - 2GB RAM - WD Green 12TB HDD - SanDisk 64GB SSD - Lian Li PC-C37B - Samsung LE40A559
    MLD 5.5 mit vdr 2.4 - Raspberry Pi 3 - rpihddevice
    MLD 5.5 mit Squeeze Play - Raspberry Pi 2 - 32GB SD - 7" Touch TFT

  • Mal ne ganz blöde Frage,


    wie wende ich denn die Patches an? Habe so etwas noch nie gemacht.


    VDR:
    HW: ASUS M3N78-EM (NV-GF8300) • 4GB DDR2 • AMD Athlon II X4 • 32GB SSD • 4TB HDD • 2x Hauppauge WINTV Nova-HD-S2

    SW: easyVDR3.0 64Bit stable based on Ubuntu 14.04 Trusty Tahr • Kodi 17 Krypton • VDPAU • SoftHDDevice

  • wie wende ich denn die Patches an? Habe so etwas noch nie gemacht.


    Man benutzt das Kommandozeilen-Tool patch. Daher die Bezeichnung Patch.


    Gerald


    HP Proliant MicroServer Gen8, Xeon E3-1230, 12 GB RAM, 3xWD red 2TB im RAID 5, 2xSundtek MediaTV Home DVB-C/T, L4M TWIN-C/T, Ubuntu Server 14.04.1, Plex Media Server
    Samsung UE55H6470

  • Also

    Diff
    --- suspendoutput-2.0.0/dummy_player.c	2012-04-16 08:48:05.000000000 +0200
    +++ suspendoutput/dummy_player.c	2015-03-26 20:35:16.000000000 +0100
    @@ -39,6 +39,7 @@
     	}
     	bool TimerHandler(void)
     	{
    +  	return true;
       	if(! cDummyPlayerControl::UseBlankImage)
     	DeviceStillPicture(v_mpg_vdrlogo, v_mpg_vdrlogo_length);
       	else


    in eine vdr-plugin-suspendoutput-fix-no-video-frames.diff Datei schreiben und anschließend mit

    Code
    patch -p1 < vdr-plugin-suspendoutput-fix-no-video-frames.diff


    patchen.


    Anschließend auch noch den Patch von clausmuus (SVDRP Commands for Suspendoutput) auf gleiche Weise anwenden.


    Oder ist das falsch?


    VDR:
    HW: ASUS M3N78-EM (NV-GF8300) • 4GB DDR2 • AMD Athlon II X4 • 32GB SSD • 4TB HDD • 2x Hauppauge WINTV Nova-HD-S2

    SW: easyVDR3.0 64Bit stable based on Ubuntu 14.04 Trusty Tahr • Kodi 17 Krypton • VDPAU • SoftHDDevice

  • Hallo Thomas,


    obwohl mir tvservice -a folgendes zeigt und ich im Plugin von heute "Digitales Audioformat" auf "Pass-Through" steht, habe ich dann folgende Meldungen im log.


    tvserivce -a

    Code
    PCM supported: Max channels: 2, Max samplerate: 96kHz, Max samplesize 24 bits. 
    AC3 supported: Max channels: 6, Max samplerate: 48kHz, Max rate 640 kb/s.


    log:

    Code
    Apr 6 19:27:45 vdr-pi vdr: [2918] rpihddevice: set video codec to H264 
    Apr 6 19:27:45 vdr-pi vdr: [2885] rpihddevice: new audio codec: 6ch AC3 
    Apr 6 19:27:45 vdr-pi vdr: [2885] rpihddevice: set HDMI audio output format to 2ch PCM, 48.0kHz


    Gruß Ralph

Jetzt mitmachen!

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