yaVDR07: Grafik friert ein bei Radio-Kanälen

  • Liebe VDR-Fans,

    seit ich yaVDR07 benutze, friert bei mir die Grafik ein, wenn ich Radiokanäle auswähle.

    Einfrieren bedeutet: Wenn zuletzt ein TV-Sender aktiv war, bleibt das Bild einfach stehen, wenn ich einen Radiosender wähle. Ich kann das OSD aufrufen und die komplette Menüwahl funktioniert. Aber wenn ich das ODS verlasse (entweder mit der Exit-Taste oder durch Auswahl einer entsprechenden Funktion), bleibt auf dem Bildschirm das letzte OSD-Menü stehen. Ab da ist am Rand des Bildschirms immer noch die stehende Grafik des letzten TV-Senders sichtbar, in der Mitte jedoch das letzte OSD-Menü. Um das OSD wieder zu benützen, muss ich es nochmal aufrufen. Am Bildschirm kann man also nicht unterscheiden, ob das OSD, das man sieht, eine Leiche ist (die eingefrorene Grafik des zuletzt aktiven Menüs) oder ob es ein aktives, neu aufgerufenes OSD ist.

    Das ist ziemlich verwirrend und lästig.

    In yaVDR05 war der Bildschirm einfach schwarz, wenn ein Radio-Sender aktiv war. Das OSD hat so reagiert, wie man es erwartet und wenn man es verlassen hat, verschwand es auch wieder und der Schirm war wieder schwarz.

    Übrigens: Audio funktioniert einwandfrei bei den Radio-Sendern.


    Jetzt wüsste ich gerne, wie sich das bei anderen Usern äußert. Habe nur ich das Problem? Vielleicht hat es auch etwas mit dem Treiber meiner TeVii-Karte zu tun? (Unter 05 war das kein Problem)?

    yaVDR 07, Asus M4A88TD-M/USB3, AMD Athlon II X2 245e, 2GB, Sparkle GeForce GT 430, 2TB WD Caviar Green WD20EARS, TeVii S464 DVB-S2, Logitech Harmony 650

  • Hi,

    Ist die Hardware sonst gleich? Oder war es früher ein anderer Ausgabeweg?

    Mfg Stefan

    Test-VDR1: HP rp5700 Fertigsystem, Core2Duo E6400, 2GB RAM, FF-SD C-2300, nvidia Slim-GT218 x1 | easyVDR 2.0 64Bit
    VDR3: in Rente

    VDR4: MSI G31M2 v2, Digitainer2-Geh., t6963c 6" gLCD, E5200, 2GB, 3TB WD Red, GT730, 2x TT S2-3200; easyVDR 3.5 64bit
    VDR5: Gigabyte
    GA-G31M-S2L, Intel E2140, Zotac GT730 passiv, Digitainer2-Geh., t6963c 6 " gLCD, 2 TB WD Red, 2x TT S2-3200 (an 1 Kabel) easyVDR 3.5 64bit
    VDR6:
    Intel E5200, GT630 passiv, F1 750 GB, t6963c gLCD, 2x TT S2-3200 | easyVDR 3.5 64bit
    VDR-User #1068
    www.easy-vdr.de

  • SurfaceCleanerZ : Die Hardware ist identisch. Ich habe ein Multi-Boot-System mit yaVDR05 und yaVDR07. Die Ausgabedevices sind ebenfalls identisch eingestellt.


    lnj : Früher habe ich kein extra Radio Plugin benötigt und bisher habe ich auch nirgends davon gelesen, dass jetzt eins nötig wäre. Aber ich werde das testen, hört sich ja plausibel an. Nach der Playbook-Installation habe ich jetzt softhddevice 1.2.3. Von softhdcuvid steht da nichts. Ist das vielleicht dasselbe?


    Die Antwort auf meine Frage würde mich trotzdem interessieren: Wie präsentiert sich ein "normaler" Radio-Empfang unter yaVDR07? Funktioniert es ohne extra Radio-Plugin oder wird das auf jeden Fall gebraucht?


    Wie ich inzwischen herausgefunden habe, habe ich wohl 2 Probleme:

    Erstes Problem:

    Die dvb-Karte (TeVii) wird nicht vollständig initialisiert. Wenn vorher ein Radio-Sender aktiv war, bekomme ich nach einem System-Kaltstart überhaupt keine Grafik, auch kein OSD. Erst wenn ich mind. 1x umschalte, bekomme ich ein Flimmerbild und das OSD funktioniert.

    Dasselbe Problem hatte ich bis vor kurzem auch bei den TV-Kanälen. Dort hat aber der Work around von seahawk1986 geholfen, indem man automatisch zuerst auf einen beliebigen Sender schaltet.

    Dieser Work around funktionert bei Radio-Sendern leider nicht. Die Anzeige bleibt schwarz und zeigt auch kein OSD. Das bleibt auch so, wenn ich in den Work around zwei unterschiediche TV-Sender und einen Radio-Sender einbaue, incl Timeouts von jeweils mehreren Sekunden dazwischen.

    Hat jemand noch eine Idee, welcher Trick für Radio-Sender helfenb könnte?


    Zweites Problem:

    Flimmerbild im Hintergrund, OSD-Anzeige bleibt nach Verlassen des OSD auf dem Bildschrim stehen. Da werde ich den Tipp von Inj ausprobieren.

    Da finde ich in der Doku zum Radio-Plugin allerdings nichts dazu, wie man das Ding installiert, noch was die einzelnen Parameter und Befehle bedeuten sollen. Sieht so aus, als ob die Doku ausschließlich für Entwickler mit einschlägigem Vorwissen gedacht ist.

    Kann mich da bitte mal jemand erleuchten?

    yaVDR 07, Asus M4A88TD-M/USB3, AMD Athlon II X2 245e, 2GB, Sparkle GeForce GT 430, 2TB WD Caviar Green WD20EARS, TeVii S464 DVB-S2, Logitech Harmony 650

    The post was edited 1 time, last by Wrnr09 ().

  • Ich kann mit yaVDR 0.7 (auf Ubuntu 18) ohne Radioplugin mit Skindesigner-Skin "my estuary" normal Radiosender mit schwarzem Bild schauen/hören,
    ohne OSD-Probleme. Vielleicht liegts bei dir am verwendeten Skin, der jetzt unter 0.7 nicht mehr tut???
    Viel Erfolg jedenfalls!

    MyVDR: yaVDR-Ansible (Ubuntu 18) - softhddevice-openglosd (ffmpeg 2.8) - epgd/epg2vdr - skindesigner estuary4vdr (adaptiert) - 1920x1080@50 Hz | kodi 18 - inputstream + amazon vod
    Aerocube M40 | 300W | ASRock H61M-GE | Intel G530 | Asus ENGT520 | 2 x TT-budget S2-3200 | ASRock Smart Remote (CIR) | 4 GB RAM | 120 GB SSD | 3 TB HDD

  • Danke schon mal für den Hinweis, der ist echt eine Hilfe!

    So, wie Du es beschreibst, ging es bei mir unter yaVDR05 auch und ich wäre schon zufrieden wenn das jetzt wieder ginge. Am Skin kanns nicht liegen, das ist der Standard Skin schlechthin, der mit yaVDR07 ausgeliefert wird.

    Somit kann ich mir das Radio-Plugin erst mal für später aufheben. Das Problem ist also wieder und allein der verdammte Montage DS3000-Treiber. Die TeVii-Karte ist eigentlich tip top, wenn nur der Treiber aktuell wäre. Seit 2009/2012 (Datum der Treiber Sourcen) hat sich in Linux beim Thema DVB einiges geändert und im VDR ebenfalls. Ich würde den Treiber ja selbst zu aktualisieren versuchen, aber der relevante Teil liegt nur als binäre Firmware-Datei vor.

    Also brauche ich irgendeinen work around für die Initialisierung.


    Kann mir jemand einen Tipp geben, wie ich programmgesteuert VDR anweise, auf einen bestimmten Kanal zu wechseln? Ich meine NICHT den Trick mit /usr/bin/dvbv5, denn da schickt dvbv5 an VDR vorbei einen Befehl an die DVB-Karte. Wenn ich sowas über den VDR-Prozess hin bekomme, müsste das Grafik-Frontend das auch mitbekommen und das Ergebnis wäre vermutlich das, was ich brauche.

    yaVDR 07, Asus M4A88TD-M/USB3, AMD Athlon II X2 245e, 2GB, Sparkle GeForce GT 430, 2TB WD Caviar Green WD20EARS, TeVii S464 DVB-S2, Logitech Harmony 650

    The post was edited 1 time, last by Wrnr09 ().

  • Für mich hört sich das nicht nach einem Problem der DVB-Karte an.
    Hast du mal versucht, in den softhddevice-Einstellungen „schwarzes Bild beim Kanalwechsel“ und „Dekoder beim Kanalwechsel leeren“ zu akrivieren? Und kein Radio-Plugin verwenden.

    (Die Einstellungen heißen nur ungefähr so, sollten aber zu finden sein.)

    ACT-620, Asrock B75 Pro3-M, Intel Core i3-3240, 4 GB DDR3 RAM 1600 MHz, passive Geforce GT1030 von MSI, Sandisk 2TB SSD, 2xWinTV DualHD, Atric-IR-Einschalter. SW: Xubuntu 20.04 auf 64GB Sandisk SSD.

  • Ich denke Dr. Seltsam meint die OSD-Einstellungen direkt im Ausgabeplugin (bei mir softhddevice) unter

    System - Einstellungen - Plugins - softhddevice - Video

    "Schwarz während Kanalwechsel" und

    "Decoder bei Kanalwechsel leeren"


    Stehen bei mir übrigens beide auf "nein".

    MyVDR: yaVDR-Ansible (Ubuntu 18) - softhddevice-openglosd (ffmpeg 2.8) - epgd/epg2vdr - skindesigner estuary4vdr (adaptiert) - 1920x1080@50 Hz | kodi 18 - inputstream + amazon vod
    Aerocube M40 | 300W | ASRock H61M-GE | Intel G530 | Asus ENGT520 | 2 x TT-budget S2-3200 | ASRock Smart Remote (CIR) | 4 GB RAM | 120 GB SSD | 3 TB HDD

  • Ich glaub es ja nicht !!!! Das war die Lösung für den zweiten Teil meines Problems !!!

    Ihr seid Gold wert.

    Ich habe beide Einstellungen auf "ja" gestellt und das Menü wird jetzt auf dem gesamten Bildschirm angezeigt und verschwindet auch wieder, wenn man raus geht.


    Allerdings finde ich die Art, wie man die Einstellungen findet, höchst eigenartig. Im Softhddevice gibt es nur 4 Einträge, die auf "anzeigen" stehen. Wer soll denn ahnen, was "anzeigen" bedeutet und dass man da ausgerechnet die Rechts- oder Links-Taste auf der FB drücken muss, um mehr zu bekommen. Ich weiß nicht, ob es diese Einstellungen früher schon gab, auf jeden Fall lief mein System 10 Jahre lang einwandfrei ohne. Bisher dachte ich halt, es gibt entweder keine weiteren Einstellungen oder sie funktionieren in der aktuellen Version nicht. Mit "anzeigen" bei den Einstellungen konnte ich nichts anfangen.


    Wenn ich jetzt den VDR oder den Rechner neu starte und es war vorher ein Radiosender aktiv, höre ich zwar wieder den Radio-Sender, aber es ist kein OSD zu bekommen. Das ist der andere Teil des Problems, der mit der Initialisierung der DVB-Karte zusammen hängt und bei dem der Work around von seahawk1986 nicht hilft. Da muss ich vermutlich noch ein Skript finden, das einen Kanalwechsel aus dem VDR heraus durchführt.


    Danke erst mal für diesen Teil der Lösung.

    yaVDR 07, Asus M4A88TD-M/USB3, AMD Athlon II X2 245e, 2GB, Sparkle GeForce GT 430, 2TB WD Caviar Green WD20EARS, TeVii S464 DVB-S2, Logitech Harmony 650

  • Da muss ich vermutlich noch ein Skript finden, das einen Kanalwechsel aus dem VDR heraus durchführt.

    Du kannst dem VDR auch direkt sagen, dass er beim Starten einen bestimmten Kanal tunen soll - dafür gibt es im Setup-Menü des VDR unter Sonstiges einen Eingtrag "Kanal beim Einschalten" - vgl. http://www.vdr-wiki.de/wiki/in…enutzerhandbuch#Sonstiges

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Danke. Das hilft leider nicht. Außerdem will ich ja nicht immer mit demselben Kanal starten.

    Ich experimentiere gerade mit Skripts, die nach dem Start des VDR laufen, bekomme sie aber noch nicht ausgeführt.


    Wenn vorher ein TV-Sender aktiv war, würde systemctl restart vdr reichen.

    Wenn vorher ein Radio-Sender aktiv war, ist systemctl restart vdr && svdrpsend chan + && svdrpsend chan - nötig (in dieser Reihenfolge!)


    Wie schaffe ich es , ein 3-Zeiler Shell Script mit genügend Berechtigungen auszuführen, direkt nachdem VDR gestartet ist?

    yaVDR 07, Asus M4A88TD-M/USB3, AMD Athlon II X2 245e, 2GB, Sparkle GeForce GT 430, 2TB WD Caviar Green WD20EARS, TeVii S464 DVB-S2, Logitech Harmony 650

  • Gerade dachte ich, jetzt hab ich's.

    Mit systemctl restart vdr && svdrpsend chan + && svdrpsend chan - hat es nicht funktioniert, weil nach jedem restart das Skript nochmal ausgeführt wird und VDR somit yoyo spielt (restart, restart, restart.....)

    Dann habe ich es endlich geschafft, den ursprünglichen Work around von seahawk1986 zu erfolgreich modifizieren:


    Meine Datei sieht jetzt so aus:

    Code
    1. [Service]
    2. ExecStartPre=-/usr/bin/dvbv5-zap --lnbf=EXTENDED -c /var/lib/vdr/.dvbv5_channels.conf -x "Das Erste HD"
    3. #ExecStartPre=-/bin/bash -c "sleep 1" # ggf. mit dem Wert spielen oder die Zeile auskommentieren
    4. ExecStartPost=-/bin/bash -c "svdrpsend chan + && svdrpsend chan -"

    Somit wird VOR dem Start von VDR ein Sender gewählt, dann wird VDR gestartet (und schaltet dabei auf den letzten aktiven Sender). Am Ende wird noch ganz schnell ein Kanal hoch und wieder runter geschaltet.

    Bei TV-sendern ist die letzte Zeile nicht nötig, schadet aber auch nicht. Bei Radio-Sendern IST sie nötig.


    Positiver Nebeneffekt: Das anfängliche Flimmern nach dem Start (ca.1/4 bis 1 Sek.) ist jetzt nicht mehr zu sehen.


    Pferdefuß:

    Das ganze funktioniert momentan nur nach einem Reboot. Nach dem Aufwachen aus dem Suspend wird das Skript anscheinend nicht ausgeführt. Da brauche ich noch eine Methode, um die letzte Zeile auch nach dem Aufwachen auszuführen.

    yaVDR 07, Asus M4A88TD-M/USB3, AMD Athlon II X2 245e, 2GB, Sparkle GeForce GT 430, 2TB WD Caviar Green WD20EARS, TeVii S464 DVB-S2, Logitech Harmony 650

  • Wie schaffe ich es , ein 3-Zeiler Shell Script mit genügend Berechtigungen auszuführen, direkt nachdem VDR gestartet ist?

    Das könnte man mit einer Systemd-Unit lösen:

    Dann mal mittels systemctl start radio_channel_switch_workaround.service ausprobieren, während ein Radiokanal eingestellt ist.

    Wenn alles wie gewünscht klappt, den Start beim Booten mittels systemctl enable radio_channel_switch_workaround.service aktivieren.

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Da brauche ich noch eine Methode, um die letzte Zeile auch nach dem Aufwachen auszuführen.

    Dazu kann man sich in die sleep-Hooks von systemd hängen - z.B. mit einer ausführbaren Datei, die sowas enthält:

    Shell-Script: /usr/lib/systemd/system-sleep/resume-channelswitch.sh
    1. #!/bin/sh
    2. case $1/$2 in
    3. pre/*)
    4. ;;
    5. post/*)
    6. on_vdr -o -e -c "svdrpsend chan +"
    7. on_vdr -o -e -c "svdrpsend chan -"
    8. ;;
    9. esac

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Moin,


    das klingt alles sehr archaisch und aufwändig. Ich würde gerne erstmal verstehen, was da tatsächlich passiert.

    Ich bin jetzt mit yavdr nicht mehr so vertraut, aber grundsätzlich sollte auch dann, wenn vdr auf einem Radiokanal startet, die Bedienung des OSD einwandfrei möglich sein. Bei meiner Kiste funktioniert das zumindest - mit aktiviertem Schwarzbild in den softhddevice-Einstellungen (Pluginversion ist 1.2.3 - das ist die aktuellste). OSD ist bei mir das native skinnopacity-Plugin (ohne skindesigner). Hast Du die Probleme auch mit dem in vdr integrierten OSD (STTNG oder LCARS)?


    Zur Theorie von seahawk1986 aus dem von Dir verlinkten Thread, wonach die DVB-Karte ihre Firmware erst beim ersten Zugriff lädt: Ist das verifiziert? Für mich macht das keinen Sinn, denn wenn nach dem vdr-Start der Radiokanal zunächst einwandfrei abgespielt wird, muss die FW ja bereits geladen sein, denn sonst wäre das device noch nicht vorhanden und vdr könnte es nicht öffnen.

    Die normale Reihenfolge sollte sein: das Treibermodul für die DVB-Karte wird geladen, dabei wird die Firmware geladen. Erst wenn das erfolgreich ist, ist auch /dev/dvb/adapter0/frontend0 verfügbar. Dann startet vdr, findet und öffnet dieses device. Wenn vdr also beim ersten Start den zuletzt eingestellten Radiosender empfängt, muss die Firmware bereits geladen sein und die Karte ist richtig initialisiert. Mir erschließt sich deshalb nicht, warum man hier einen vdr restart und Kanalwechsel machen soll.

    Aber: wie ich gerade sehe, scheint das Problem bei der Tevii S464 und der Nova S2 HD (beide nutzen den cx88-Treiber) bekannt zu sein:

    https://www.minidvblinux.de/forum/index.php?topic=6384.30

    Demzufolge wäre das Problem auf eine Änderung Ende 2014 zurückzuführen, die in den Kernel 3.19 eingeflossen ist. Im Kernel 4.0 gibt es danach einige Änderungen am mitbetroffenen vb2 (videobuf2-core):

    https://git.linuxtv.org/linux.…e/videobuf2-core.c?h=v4.0

    Ob das auch in diesem Fall hilft, weiss ich aber nicht. Vielleicht hat jojo61 ja neuere Erkenntnisse?


    Welche Kernelversion läuft denn bei Dir (uname -r)? Und welchen Unterbau (Ubuntu 18.04 oder 20.04?) hast Du? Eigentlich müsste das mindestens Kernel 4.15 sein. Aber wer weiss, was die developer inzwischen schon wieder neues verschlimmbessert haben. Ist ein Downgrade auf Kernel 3.18 möglich? Bei Deiner ... hust ... etwas betagteren Hardware sollte das ja kein Problem sein - aber ob das mit Ubuntu 18 oder 20 noch harmoniert?


    Im Zweifel würde ich mich nicht länger rumärgern sondern eine besser unterstützte DVB-S2-Karte kaufen.

    ACT-620, Asrock B75 Pro3-M, Intel Core i3-3240, 4 GB DDR3 RAM 1600 MHz, passive Geforce GT1030 von MSI, Sandisk 2TB SSD, 2xWinTV DualHD, Atric-IR-Einschalter. SW: Xubuntu 20.04 auf 64GB Sandisk SSD.

  • Ich schließe mich dem Vorposter an: das ist "nur" aufwendiges Workaround-Gewürge.


    Zum ursprünglichen Problem (kaputtes OSD bei Radiosendern):


    Ich benutze diese Version von softhddevice (OpenGL OSD mit FFMpeg 2.8) - oder meintest du mit "Version 1.2.3" das Skindesigner-Plugin?

    Code
    1. apt-cache policy vdr-plugin-softhddevice-openglosd-ffmpeg-2.8
    2. vdr-plugin-softhddevice-openglosd-ffmpeg-2.8:
    3. Installiert: 1:0.6.1rc1-26-569fde5-5yavdr0~bionic
    4. Installationskandidat: 1:0.6.1rc1-26-569fde5-5yavdr0~bionic
    5. Versionstabelle:
    6. *** 1:0.6.1rc1-26-569fde5-5yavdr0~bionic 500
    7. 500 http://ppa.launchpad.net/yavdr/experimental-vdr/ubuntu bionic/main amd64 Packages
    8. 100 /var/lib/dpkg/status

    Da du auch eine (sehr) "alte nvidia-Graka" hast, würd ich mal empfehlen, auch diese Version zu probieren.


    Außerdem solltest du viell. doch mal ein Skindesigner-Skin testen oder die nativen Skins (wie oben vorgeschlagen).
    (Ich persönlich glaube ja, dass es das ist.)


    Viel Erfolg!

    MyVDR: yaVDR-Ansible (Ubuntu 18) - softhddevice-openglosd (ffmpeg 2.8) - epgd/epg2vdr - skindesigner estuary4vdr (adaptiert) - 1920x1080@50 Hz | kodi 18 - inputstream + amazon vod
    Aerocube M40 | 300W | ASRock H61M-GE | Intel G530 | Asus ENGT520 | 2 x TT-budget S2-3200 | ASRock Smart Remote (CIR) | 4 GB RAM | 120 GB SSD | 3 TB HDD