softhddevice extrem geschwätzig

  • Das softhddevice ist im Logfile extrem geschwätzig, was ziemlich störend ist, wenn man gerade an was anderem arbeitet und die dortigen Logmeldungen verfolgen möchte. So kommen zum Beispiel oft Meldungen wie


    Feb 28 11:18:12 vdr3 vdr: video: display buffer empty, duping frame (37/0) 0
    Feb 28 11:18:12 vdr3 vdr: video: display buffer empty, duping frame (38/0) 0
    Feb 28 11:18:12 vdr3 vdr: video: display buffer empty, duping frame (39/0) 0
    Feb 28 11:18:12 vdr3 vdr: video: display buffer empty, duping frame (40/0) 0
    Feb 28 11:18:12 vdr3 vdr: video: display buffer empty, duping frame (41/0) 0
    Feb 28 11:18:12 vdr3 vdr: video: display buffer empty, duping frame (42/0) 0
    Feb 28 11:18:12 vdr3 vdr: video: display buffer empty, duping frame (43/0) 0
    Feb 28 11:18:12 vdr3 vdr: video: display buffer empty, duping frame (44/0) 0
    Feb 28 11:18:12 vdr3 vdr: video: display buffer empty, duping frame (45/0) 0
    Feb 28 11:18:12 vdr3 vdr: video: display buffer empty, duping frame (46/0) 0
    Feb 28 11:18:12 vdr3 vdr: video: display buffer empty, duping frame (47/0) 0
    Feb 28 11:18:12 vdr3 vdr: video: display buffer empty, duping frame (48/0) 0
    Feb 28 11:18:12 vdr3 vdr: video: display buffer empty, duping frame (49/0) 0
    Feb 28 11:18:12 vdr3 vdr: video: display buffer empty, duping frame (50/0) 0
    Feb 28 11:18:12 vdr3 vdr: video: display buffer empty, duping frame (51/0) 0
    Feb 28 11:18:12 vdr3 vdr: video: display buffer empty, duping frame (52/0) 0


    oder


    Feb 28 11:48:25 vdr3 vdr: video: slow down video, duping frame
    Feb 28 11:48:25 vdr3 vdr: video: 25:24:04.375 +55 305 0/\ms 61+2 v-buf
    Feb 28 11:49:15 vdr3 vdr: video: slow down video, duping frame
    Feb 28 11:49:15 vdr3 vdr: video: 25:24:54.415 +55 304 0/\ms 59+2 v-buf
    Feb 28 11:50:05 vdr3 vdr: video: slow down video, duping frame
    Feb 28 11:50:05 vdr3 vdr: video: 25:25:44.455 +54 303 0/\ms 56+2 v-buf
    Feb 28 11:50:55 vdr3 vdr: video: slow down video, duping frame
    Feb 28 11:50:55 vdr3 vdr: video: 25:26:34.495 +51 300 0/\ms 54+2 v-buf
    Feb 28 11:51:45 vdr3 vdr: video: slow down video, duping frame
    Feb 28 11:51:45 vdr3 vdr: video: 25:27:24.535 +51 300 0/\ms 56+2 v-buf


    Ich habe keine '-d' Option gesetzt und das DEBUG-Macro ist auch nicht definiert.
    Leider sehe ich nicht, wie ich dem Plugin beibringen kann, nur dann was zu loggen, wenn es wirklich was zu sagen gibt. So Sachen wie "display buffer empty, duping frame" oder "slow down video, duping frame" sind ja wohl an der Tagesordnung und kein Grund, das Log zuzumüllen. Sowas sollte lieber mit einem separaten Schalter im Sourcefile eingeschaltet werden, wenn man es denn braucht.


    Übersehe ich da was, oder muß ich das Plugin tatsächlich patchen um Ruhe zu bekommen?


    Klaus

  • Kann es sein, dass du das Plugin auf einem Monitor ausgeben lässt, der mit 60Hz Bildwiederholfrequenz läuft? Für den Fall gibt es eine Option in den Video-Einstellungen des Plugins (bzw. softhddevice.60HzMode=1 in der setup.conf) - damit sollten zumindest die meisten regelmäßigen Meldungen weg sein.


    Ansonsten kann man am Logging des Plugins sicherlich noch einiges verbessern.

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Ja, der Monitor hat 60Hz. Danke für den Tipp, hab die Option jetzt mal eingeschaltet.


    Das Logging bei softhddevice muß echt verbessert werden, das geht so gar nicht.
    Mal sehen, wenn ich das künftig tatsächlich in meinem Haupt-VDR verwende muß ich da mal mit dem eisernen Besen auskehren ;-).


    Klaus

  • Besser wäre 50.00Hz Bildwiederholrate und in der xorg.conf Composite off setzen. Dann läuft die Ausgabe flüssig und die Meldungen werden weniger.

  • Das hatte ich auch eine ganze Weile (wie u. A. hier beschrieben: http://www.vdr-portal.de/board17-developer/board21-vdr-plugins/115124-gelöst-softhddevice-decoder-buffer-empty-beim-abspielen-einer-aufnahme/), habe einiges ausprobiert und nichts hat geholfen. Meinen eigenen Thread zu dem Thema finde ich leider nicht mehr.


    Glaube seit Wechsel eines minderwertigen Tuners gegen eine Cine S2 ist das weg. Kann mich aber auch täuschen und der Tuner spielt hier keine Rolle, und das "Problem" wurde mit einer neueren Version von easyVDR "gelöst".

  • Hallo,
    Ich kenne die Meldungen auch, aber die kommen nur bei schlechtem Empfang (zumindest kenne ich sie daher). Dann fehlen Frames und er kaschiert das...


    Hast du genug Grafikspeicher (zugewiesen bei Onboard?)
    Zu langsamer Bus ist evtl. Noch denkbar, aber das kenne ich nur von alten AMD CPUs, die den drosseln... (vom mitlesen).
    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

  • kls


    Bzgl. passender "xorg.conf.d/20-intel.conf" hatte ich in einem anderen Thread schonmal drauf hingewiesen: softhddevice für Dummies?


    Regards
    fnu

    HowTo: APT pinning

  • Ja, aber minimiert schon auch ein wenig die syslog Meldungen ...

    HowTo: APT pinning

  • Ja, der Monitor hat 60Hz. Danke für den Tipp, hab die Option jetzt mal eingeschaltet.


    Das Logging bei softhddevice muß echt verbessert werden, das geht so gar nicht.
    Mal sehen, wenn ich das künftig tatsächlich in meinem Haupt-VDR verwende muß ich da mal mit dem eisernen Besen auskehren ;-).


    Klaus


    Ich würde den Monitor auf 50Hz setzen. Mit 99% der Monitore geht es mit xrand 50 Hz zuerzwingen.
    (Zumindest mit NVidia Karten), sogar mein Laptop LCD läuft dann mit 50Hz.


    Es kommen nur Meldung wenn es nicht rund läuft, wenn alles in Ordnung ist, ist dann eigentlich Ruhe.
    Ohne die Meldungen hättest du nie nach der Ursache gesucht.


    Am Besten SoftHdDevice im VDR einbauen bzw, zuübernehmen oder Software Decoder Eigenbau.


    Johns

    Sag mir, wo die Developer sind. Wo sind sie geblieben? . . . . . . . . . . . . . . . . . . . . SoftHdDevice - A software and GPU emulated HD output device plugin.
    Sag mir, wo die Developer sind. Was ist geschehn?


    Client0: Crown CW02 MSI_C847MS-E33 Zotac_GT640_passiv Cine-S2 iMon-MCE / streamdev softhddevice
    Client1: Lian_Li_PC-Q09FB ASRock_H67M-ITX/HT I3-2100 ASUS_ENGT520_passiv / streamdev softhddevice
    Test: Lian_Li_PC-Q09R Asus C60M1-I / streamdev
    Server0: Dockstar TT-S2-3600-USB / streamdev
    Server2: Lian_Li_PC-Q07R Intel_DH61DL G620 WD20EARX 90W PicoPSU Cine-S2+DuoFlex-S2+DuoFlex-CT / streamdev / 22 Watt Verbrauch


  • Ich würde den Monitor auf 50Hz setzen. Mit 99% der Monitore geht es mit xrand 50 Hz zuerzwingen.
    (Zumindest mit NVidia Karten), sogar mein Laptop LCD läuft dann mit 50Hz.


    Werde ich im Endausbau ganz bestimmt machen.
    Kann man das einfach durch Aufruf von 'xrandr' erreichen? Was müsste ich denn dazu angeben?

    Quote


    Es kommen nur Meldung wenn es nicht rund läuft, wenn alles in Ordnung ist, ist dann eigentlich Ruhe.
    Ohne die Meldungen hättest du nie nach der Ursache gesucht.


    OK, das stimmt natürlich auch wieder ;-).
    Wobei sowas hier...


    Mar 1 10:49:22 vdr3 vdr: video: display buffer empty, duping frame (1/0) 0
    Mar 1 10:49:22 vdr3 vdr: video: display buffer empty, duping frame (2/0) 0
    Mar 1 10:49:22 vdr3 vdr: video: display buffer empty, duping frame (3/0) 0
    Mar 1 10:49:22 vdr3 vdr: video: display buffer empty, duping frame (4/0) 0
    Mar 1 10:49:22 vdr3 vdr: video: display buffer empty, duping frame (5/0) 0
    Mar 1 10:49:22 vdr3 vdr: video: display buffer empty, duping frame (6/0) 0
    Mar 1 10:49:22 vdr3 vdr: video: display buffer empty, duping frame (7/0) 0
    Mar 1 10:49:22 vdr3 vdr: video: display buffer empty, duping frame (8/0) 0
    Mar 1 10:49:23 vdr3 vdr: video: display buffer empty, duping frame (9/0) 0
    Mar 1 10:49:23 vdr3 vdr: video: display buffer empty, duping frame (10/0) 0
    Mar 1 10:49:23 vdr3 vdr: video: display buffer empty, duping frame (11/0) 0
    Mar 1 10:49:23 vdr3 vdr: video: display buffer empty, duping frame (12/0) 0
    Mar 1 10:49:23 vdr3 vdr: video: display buffer empty, duping frame (13/0) 0
    Mar 1 10:49:23 vdr3 vdr: video: display buffer empty, duping frame (14/0) 0
    Mar 1 10:49:23 vdr3 vdr: video: display buffer empty, duping frame (15/0) 0
    Mar 1 10:49:23 vdr3 vdr: video: display buffer empty, duping frame (16/0) 0
    Mar 1 10:49:23 vdr3 vdr: video: display buffer empty, duping frame (17/0) 0
    Mar 1 10:49:23 vdr3 vdr: video: display buffer empty, duping frame (18/0) 0
    Mar 1 10:49:23 vdr3 vdr: video: display buffer empty, duping frame (19/0) 0
    Mar 1 10:49:23 vdr3 vdr: video: display buffer empty, duping frame (20/0) 0
    Mar 1 10:49:23 vdr3 vdr: video: display buffer empty, duping frame (21/0) 0
    Mar 1 10:49:23 vdr3 vdr: video: display buffer empty, duping frame (22/0) 0
    Mar 1 10:49:23 vdr3 vdr: video: display buffer empty, duping frame (23/0) 0
    Mar 1 10:49:23 vdr3 vdr: video: display buffer empty, duping frame (24/0) 0
    Mar 1 10:49:23 vdr3 vdr: video: display buffer empty, duping frame (25/0) 0
    Mar 1 10:49:23 vdr3 vdr: video: display buffer empty, duping frame (26/0) 0
    Mar 1 10:49:23 vdr3 vdr: video: display buffer empty, duping frame (27/0) 0
    Mar 1 10:49:23 vdr3 vdr: video: display buffer empty, duping frame (28/0) 0
    Mar 1 10:49:23 vdr3 vdr: video: display buffer empty, duping frame (29/0) 1
    Mar 1 10:49:23 vdr3 vdr: video: display buffer empty, duping frame (30/0) 0
    Mar 1 10:49:23 vdr3 vdr: video: display buffer empty, duping frame (31/0) 1
    Mar 1 10:49:23 vdr3 vdr: video: display buffer empty, duping frame (32/0) 0
    Mar 1 10:49:23 vdr3 vdr: video: display buffer empty, duping frame (33/0) 0
    Mar 1 10:49:23 vdr3 vdr: video: display buffer empty, duping frame (34/0) 1
    Mar 1 10:49:23 vdr3 vdr: video: display buffer empty, duping frame (35/0) 0
    Mar 1 10:49:23 vdr3 vdr: video: display buffer empty, duping frame (36/0) 0
    Mar 1 10:49:23 vdr3 vdr: video: display buffer empty, duping frame (37/0) 0
    Mar 1 10:49:23 vdr3 vdr: video: display buffer empty, duping frame (38/0) 0
    Mar 1 10:49:23 vdr3 vdr: video: display buffer empty, duping frame (39/0) 0
    Mar 1 10:49:23 vdr3 vdr: video: display buffer empty, duping frame (40/0) 0
    Mar 1 10:49:23 vdr3 vdr: video: display buffer empty, duping frame (41/0) 0
    Mar 1 10:49:23 vdr3 vdr: video: display buffer empty, duping frame (42/0) 0
    Mar 1 10:49:23 vdr3 vdr: video: display buffer empty, duping frame (43/0) 0
    Mar 1 10:49:23 vdr3 vdr: video: display buffer empty, duping frame (44/0) 0
    Mar 1 10:49:23 vdr3 vdr: video: display buffer empty, duping frame (45/0) 1
    Mar 1 10:49:23 vdr3 vdr: video: display buffer empty, duping frame (46/0) 0
    Mar 1 10:49:23 vdr3 vdr: video: display buffer empty, duping frame (47/0) 1
    Mar 1 10:49:23 vdr3 vdr: video: display buffer empty, duping frame (48/0) 0
    Mar 1 10:49:23 vdr3 vdr: video: display buffer empty, duping frame (49/0) 0
    Mar 1 10:49:23 vdr3 vdr: video: display buffer empty, duping frame (50/0) 0
    Mar 1 10:49:23 vdr3 vdr: video: display buffer empty, duping frame (51/0) 2
    Mar 1 10:49:23 vdr3 vdr: video: display buffer empty, duping frame (52/0) 0
    Mar 1 10:49:23 vdr3 vdr: video: display buffer empty, duping frame (53/0) 0
    Mar 1 10:49:23 vdr3 vdr: video: display buffer empty, duping frame (54/0) 0
    Mar 1 10:49:23 vdr3 vdr: video: display buffer empty, duping frame (55/0) 0
    Mar 1 10:49:23 vdr3 vdr: video: display buffer empty, duping frame (56/0) 0
    Mar 1 10:49:24 vdr3 vdr: video: display buffer empty, duping frame (57/0) 0
    Mar 1 10:49:24 vdr3 vdr: video: display buffer empty, duping frame (58/0) 0
    Mar 1 10:49:24 vdr3 vdr: video: display buffer empty, duping frame (59/0) 0


    ...schon reichlich übertrieben ist - oder bringt das irgendwelche Erkenntnisse?
    Wenn wenigstens die Meldungen immer gleich wären, damit sie im Log zusammengefasst werden könnten.


    BTW: was hat es eigentlich in Meldungen wie


    Mar 1 10:50:14 vdr3 vdr: video: 21:55:09.357 +3 439 0/\ms 69+3 v-buf


    mit dem "/\" auf sich? Ist das ein Tippfehler oder hat das eine Bedeutung?

    Quote


    Am Besten SoftHdDevice im VDR einbauen bzw, zuübernehmen oder Software Decoder Eigenbau.


    Das fest in den VDR einzubauen halte ich für keine gute Idee, denn (unter anderem) dafür wurde ja extra die Plugin-Schnittstelle geschaffen.


    Klaus

  • BTW: was hat es eigentlich in Meldungen wie


    Mar 1 10:50:14 vdr3 vdr: video: 21:55:09.357 +3 439 0/\ms 69+3 v-buf


    mit dem "/\" auf sich? Ist das ein Tippfehler oder hat das eine Bedeutung?

    Hallo Klaus,
    das ist z.B. hier erklärt:
    https://projects.vdr-developer…be-in-syslog-von-DAV_INFO


    Edit: Link präzisiert

    Software: yaVDR0.6.1 mit VDR 2.2.0-13yavdr0~trusty, Kernel 4.4.0-148-generic, nvidia 384.130, dddvb 0.9.36.0easyVDR0
    Hardware: ASRock B75 Pro3-M, Intel G2030, RAM 4GB, SSD 64GB, HDD 4TB, Zotac GT630 ZONE Edition 1024MB GK208 (SKU:ZT-60408-20L), DD Cine C2/T2 V7
    Fernseher: SONY KDL-32D3000



  • Werde ich im Endausbau ganz bestimmt machen.
    Kann man das einfach durch Aufruf von 'xrandr' erreichen? Was müsste ich denn dazu angeben?


    Entweder ist die Aulösung schon vorhanden.
    Dann "xrandr --rate 50", wenn nicht kappt, dann auch "xrandr --output LVDS-0 --mode 1920x1080 --rate 50".
    Mit z.b. glxgears kann ich einfach prüfen, ob auch wirklich umgeschaltet.


    Wenn Modus 50 Hz nicht erkannt wird, dann von Hand in xorg.conf eintragen.

    Code
    1. Section "Monitor"
    2. ....
    3. # 1920x1080p @ 50Hz (EIA/CEA-861B)
    4. ModeLine "1920x1080@50" 148.500 1920 2448 2492 2640 1080 1084 1089 1125 +hsync +vsync
    5. ---


    Man könnte neuen Mode auch mit xrandr anlegen, einfach man-Seite lesen.



    Sollten eigentlich zusammengefasst werden (über den Format String vom printf), entweder vergessen oder die Funktion stand an der Stelle nicht zur Verfügung.


    Quote

    BTW: was hat es eigentlich in Meldungen wie


    Mar 1 10:50:14 vdr3 vdr: video: 21:55:09.357 +3 439 0/\ms 69+3 v-buf


    mit dem "/\" auf sich? Ist das ein Tippfehler oder hat das eine Bedeutung?


    Soll "Delta" dastellen, ist der Fehler in den Zeitstempeln, der in den Eingangs Paketen auftritt.
    Tritt durch ffmpeg/libav, kann sein, daß er inzwischen immer 0 ist.


    Johns

    Sag mir, wo die Developer sind. Wo sind sie geblieben? . . . . . . . . . . . . . . . . . . . . SoftHdDevice - A software and GPU emulated HD output device plugin.
    Sag mir, wo die Developer sind. Was ist geschehn?


    Client0: Crown CW02 MSI_C847MS-E33 Zotac_GT640_passiv Cine-S2 iMon-MCE / streamdev softhddevice
    Client1: Lian_Li_PC-Q09FB ASRock_H67M-ITX/HT I3-2100 ASUS_ENGT520_passiv / streamdev softhddevice
    Test: Lian_Li_PC-Q09R Asus C60M1-I / streamdev
    Server0: Dockstar TT-S2-3600-USB / streamdev
    Server2: Lian_Li_PC-Q07R Intel_DH61DL G620 WD20EARX 90W PicoPSU Cine-S2+DuoFlex-S2+DuoFlex-CT / streamdev / 22 Watt Verbrauch

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

  • So, jetzt weiß ich endlich, warum softhddevice nicht "ruhig" zu bekommen war ;-).
    Bei den Funktionen, über die Log-Meldungen ausgegeben werden, wird immer


    if (SysLogLevel > level || DebugLevel > level)


    abgefragt. Da kann ich das Plugin-interne DebugLevel noch so auf 0 setzen, wenn das globale SysLogLevel von VDR nicht 0 ist kommt da immer wieder was durch.
    Da ich aber beim Entwickeln im VDR selber gerne nur dessen Meldungen sehen möchte, und nicht tonnenweise andere, habe ich das jetzt nach


    if (DebugLevel > level)


    geändert und jetzt ist Ruhe :-).


    Freilich ist es sinnvoll, daß softhddevice Meldungen bringt, wenn etwas nicht stimmt (siehe die Diskussion weiter oben). Aber es sollte schon auch möglich sein, die Meldungen des Plugins ganz abzuklemmen, wenn man halt momentan in einer ganz anderen Ecke arbeitet und sich halt nunmal nicht um die Behebung der Probleme bei der Ausgabe kümmern kann bzw. will.


    Nur so als Anregung - ich hab ja für mich jetzt eine Lösung.



    Was mir noch aufgefallen ist: in video.c wird zur Laufzeit


    fprintf(stderr, _("video/vaapi: gpu hung %dms %d\n"), e - s, decoder->FrameCounter);


    und


    fprintf(stderr, _("video/vaapi: gpu hung %dms %d\n"), put1 - sync, decoder->FrameCounter);


    gemacht. Sowas sollte nicht sein, ein Pugin sollte zur Laufzeit nichts nach stdout/stderr ausgeben (es sei denn, es implementiert etwas, das dies explizit und gewollt tut, wie z.B. skincurses).



    Und dann kommt beim Programmstart noch


    libva info: VA-API version 0.39.4
    libva info: va_getDriverName() returns 0
    libva info: Trying to open /usr/lib64/dri/i965_drv_video.so
    libva info: Found init function __vaDriverInit_0_39
    libva info: va_openDriver() returns 0


    an stderr, was aber wohl von der libva stammt, da entsprechende String in softhddevice nicht zu finden sind. Sowas geht natürlich gar nicht! Eine lib sollte nicht nach stdout/stderr schreiben. Oder gibt es da einen Schalter, über den man das steuern kann?


    Klaus