softhddevice - Software VDPAU/VA-API/CPU Decoder und Ausgabe Plugin

  • Nur manchmal und ausschließlich beim Umschalten verliert er dann den Ton, entweder es ist Still oder gestern auch zum ersten Mal ein Rauschen. - Zu beheben nur durch vdr Neustart.


    Meiner Meinung nach ist das in den ersten Versionen mit dem neuen Audio Parser nicht aufgetreten, oder ich habs zumindes tnciht bemerkt.

    Kann ich nicht ganz bestätigen: Das Rauschen (Ton weg hatte ich noch nicht) habe ich selten und nicht durch Umschalten reproduzierbar seit Einführung des neuen Audio-Parsers. Auch hier: kein Downmix, passthrough direkt über optical an den Receiver. Ich habe keine ungewöhnlichen Logeinträge während des Rauschens (ist übrigens sehr lautes Rauschen) - das Log sieht aus, als würde alles normal laufen.


    Was hier allerdings hilft, ist das softhddevice zu suspenden, und dann irgendein Programm (xbmc, pingus getestet) zu straten, das auf das Audio-Device zugreift. Ein einfaches Suspend/Resume fürhrt zu 3 - 5 Sekunden normalem Sound und dann rauscht es wieder. Wenn zwischenzeitlich ein anderes Programm auf dem Sound Device lief, funktioniert es wieder dauerhaft.


    Wie gesagt, das Rauschen tritt selten (gefühlt einmal alle 5 - 6 h Betrieb) und unwillkürlich auf. Habe gerade nochmal eine Zap-Orgie mit HD, SD und DD Sendern gemacht, und bekomme es nicht reproduziert.


    Gruß, Ingo

    gen2vdr v3(migriert auf gentoo amd64), Asus Sabertooth FX990, AMD FX8150, 16GB 1833, CineS2(media_build_experimental), L4M USB RC(inputevxd), Asus gts450silent
    vdr-2.1.6(jumpplay,binaryskip,menuselection,menuorg,mainmenuhook), vertex4 ssd (system), mdraid5 9TB, zfs raidz1 4TB (video)

  • Hallo ich nutze oss mit passthrough und stereodevice. Die lezte Version mit Driftkorrektur ist hier erstmals eine Verschlechterung, mit dieser letzen Version hab ich erstmals viele Ruckler...
    cu Peje

    PCs
  • So gibt neue verbesserte Version, sollte nun keine Problem mehr haben.
    Debug wird im Moment nach stdout gemacht.


    Wer Probleme hat:

    Code
    1. CONFIG += -DUSE_AUDIO_DRIFT_CORRECTION # build new audio drift code


    kommentieren (# am Anfang dieser Zeile einfügen).


    Wer Pass-through verwendet, ist von diesen Änderungen noch nicht betroffen, kann aber gucken, wie stark sein Audiodrift 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

  • Das Schwarze Bild baue ich mal ein, wenn ich Zeit habe.


    Bloß nicht, oder falls Du es einbaust, kannst Du dieses Feature mit einer einstellbaren Option dem User überlassen?
    Noch eine Frage. Ich weiß Du hast viel zu tun aber was noch total schön wäre, wenn das Plugin nach dem starten meldet das es bereit ist resumed zu werden, z.B. mit einer Pid datei. Dann könnte man das resume besser steuern und es erst geben wenn wirklich ein X vorhanden ist und das Plugin bereit ist. Zur Zeit hole ich mir den Status mit ps aux. Funktioniert aber nicht immer zuverlässig.

    VDR1: RPI3, DVB-Sky S960, VDR 2.20, Raspbian Jessie, Onkyo AV Receiver, Panasonic Plasma.
    VDR2: RPI1, DVB-Sky S960, VDR 2.32, Raspbian Jessie, Grundig LCD.
    VDR3: RPI2, DVB-Sky S960, VDR 2.20, Raspbian Jessie, 55´er Grundig Röhre

  • Wenn wir schon beim resume sind, beim stoppen macht der vdr noch ein detach auf den player und damit ein SetPlayMode(pmNone). Das führt, auch wenn softhd suspended ist, wieder zu einem resume.
    Vielleicht am Anfang von SetPlayMode() ein
    if (SkipVideo && SkipAudio && !play_mode) return 0;

    vdr-2.3.8
    softhddevice, chanman, dbus2vdr, dvd, dvdswitch, dynamite, epgsearch, femon, filebrowser, graphlcd, graphtftng,
    menuorg, osdteletext, radio, recsearch, streamdev-server, tvguide, vdrmanager, vnsiserver

    linux-3.13.0-129 M3N78-VM (Nvidia 8200) CIne CT-V7 DVB-C
    yavdr-0.6 als Basis mit vielen Änderungen

  • Zitat

    So gibt neue verbesserte Version, sollte nun keine Problem mehr haben.


    Debug wird im Moment nach stdout gemacht.

    Danke diese läuft jetzt bei mir. Bis jetzt nichts negatives.

    NFS+DVB_Server: Ubuntu 12.04 Server LTS // Intel dn2800mt mit 1xWD Red (2TB), 1xWD Green (2TB), 5xSundtek SkyTV DVB-S/S2
    VDR: Gen2VDRV4 (VDR-2.1.6) // Asus C8HM70-I/HDMI , 64GB Sandisk SSD (System), 4GB Ram (Dualchannel), Zotac GT630, 4TB über NFS (Video0+Mediadaten), 5xSundtek SkyTV DVB-S/S2 über Lan, PS3 FB // softhddevice_GIT, NV-Treiber_340.58, FFMPEG_1.2.6, Kernel_3.16.5, Alsa_1.0.28 // KODI_15.0_ALPHA
    CLIENT: (Debian) Banana Pi (VDR-2.1.7) // streamdevclient // softhddevice // PS3 FB
    TEST: Grundig GSS 400 mit Vtunerc // Satip-Plugin // TVheadend


    Je mehr man gelernt hat, desto mehr weiß man, wie wenig man weiß.

  • Wenn wir schon beim resume sind, beim stoppen macht der vdr noch ein detach auf den player und damit ein SetPlayMode(pmNone). Das führt, auch wenn softhd suspended ist, wieder zu einem resume.
    Vielleicht am Anfang von SetPlayMode() ein
    if (SkipVideo && SkipAudio && !play_mode) return 0;


    Danke für das Mitdenken, aber dies macht der C++ Teil schon.


    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

  • Hallo johns
    Kurzer Log von der aktuellen Version (ARD HD) Bild und Ton alles in Ordnung.
    Und nicht kurz nach dem Umschalten erstellt . (Audio Ausgabe via HDMI)


    mfg Rudi


    Nachtrag: Es ist ein kurzer falscher Ton zu hören, in Verbindung mit den underrun errors.

    VDR 1 (SD) : ASRock A330 GC, 1 GB RAM, TT- FF Karte rev. 2.3, 7'' TFT, Lirc X10 - Selbstbau Gehäuse - Suse 11.3 (64) vdr-1.7.10 diverse Plugins
    VDR 2 (HD) : MSI G41M-P25, 2 GB RAM, E6700 2x3.20GHz, Gainward GT220, 2TB HD, Lirc X10, TT S2-3600 USB, TT S2-1600, - Suse 11.3 (64) NvidiaTreiber 260.19 vdr-1.7.18 - xineliboutplugin 1.0.90 cvs, xine-lib 1.1.90 , s2-liplianin DVB Treiber

    Dieser Beitrag wurde bereits 3 Mal editiert, zuletzt von rudirabbit ()

  • Hallo johns
    Kurzer Log von der aktuellen Version (ARD HD) Bild und Ton alles in Ordnung.
    Und nicht kurz nach dem Umschalten erstellt . (Audio Ausgabe via HDMI)


    Nachtrag: Es ist ein kurzer falscher Ton zu hören, in Verbindung mit den underrun errors.


    Dieses Problem sollte der neue "Audio Drift Correction" Support beseitigen.


    Bei dir läuft der Ton zuschnell und es leeren sich die Buffer, neueste Version aus GIT benutzen
    mit -DUSE_AUDIO_DRIFT_CORRECTION.
    Das Ganze funktioniert nur mit normaler Ausgabe, also Passthrough ausschalten.


    Leider scheint es nicht so einfach zu sein, Audio Drift Correction für AC-3 Passthrough einzubauen.
    Falls jemand drüber Näheres weiss -> Posten. Xine-lib scheint dafür auch keinen Support zuhaben,
    vielleicht haben deshalb soviele Probleme mit Ton und Xine.


    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

  • Kurze Wasserstandsmeldung von mir:


    Mit dem letzten git-Stand läuft bei mir ootb (d.h. mit -DUSE_AUDIO_DRIFT_CORRECTION) wieder alles einwandfrei .


    Danke dafür!


    Grüße, Peter

    VDR1: vdr-latest, arch x86_64, Octopus net 2 x Duoflex C/C2/T2 , NUC7i3BNH, Crucial MX300 2TB, LG LM 669S
    VDR2: RasPI 2, MLD
    VDR-User #81

    Linux is the best OS I have ever seen -- Albert Einstein

  • Hallo wie schon erwähnt hab ich Probleme mit der aktuellen Version, bin nun comit für comit zurück und die Probleme treten ab git@5d8dea1b6b9e15048f425f13b349e785a494cdb3 auf:
    http://pastebin.com/uuakQ85d
    Dasselbe mit gti@1f232db5b499169e3c354b4af4bb59053009f210
    http://pastebin.com/zRiaAPMt


    Absolut keine Framedrops...
    Kann ich noch mehr logs zur Verfügung stellen?
    Danke für Hilfe Gruss Peje

    PCs
  • Das war natürlich ein sehr großer Commit :(


    Auswirkung kann nur die BufferTime haben. "AudioBufferTime = xxx;" mal auf 450 setzen, dann sollte es wieder die vorherige Version sein.
    Ansonsten mal mit " CONFIG += -DAV_INFO -DAV_INFO_TIME=3000 # debug a/v sync" im Makefile bauen, dann kann man besser sehen, warum die Frames gedroppt werden.


    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

  • Danke für die schnelle Hilfe, hier mit gesetztem DAV-Info: http://pastebin.com/Bu0HF5DH und hier mit grösserem Puffer:http://pastebin.com/spDQrkWc
    leider bleiben die framedrops..
    Danke cu Peje

    PCs
  • A/V Info und die Zeiten schein nicht geklappt zu haben.


    Bei den neuerern:

    Code
    1. Mar 1 10:32:38 pejevdr vdr: audio/oss: delay 341 ms


    Bei dem altem:

    Code
    1. Mar 1 09:06:49 pejevdr vdr: audio/oss: delay 525 ms


    Es sind zwei Stellen zuändern, die erste ist nur für den ersten Kanal, die zweite wird für den Rest verwendet.


    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

  • hallo,


    mit der neuen version aus dem git häüfen sich nun auch hier folgende logeinträge, siehe anhang (syslog gefiltert auf --> egrep -i "v-buf|drop|switching|underrun"):


    Code
    1. Mar 1 12:17:49 pvr vdr: audio/alsa: writei underrun error? 'Broken pipe'
    2. Mar 1 12:18:15 pvr vdr: audio/alsa: wait underrun error? 'Broken pipe'
    3. Mar 1 12:19:12 pvr vdr: audio/alsa: writei underrun error? 'Broken pipe'
    4. Mar 1 12:19:15 pvr vdr: audio/alsa: writei underrun error? 'Broken pipe'
    5. Mar 1 12:19:20 pvr vdr: audio/alsa: wait underrun error? 'Broken pipe'
    6. Mar 1 12:19:28 pvr vdr: audio/alsa: writei underrun error? 'Broken pipe'


    Makefile sieht so aus:

    Code
    1. CONFIG := #-DDEBUG
    2. CONFIG += -DUSE_AUDIO_DRIFT_CORRECTION # build new audio drift code
    3. CONFIG += -DAV_INFO -DAV_INFO_TIME=3000 # debug a/v sync
    4. #CONFIG += -DHAVE_PTHREAD_NAME # supports new pthread_setname_np
    5. CONFIG += -DUSE_TS_AUDIO # build new ts audio parser
    6. #CONFIG += -DUSE_TS_VIDEO # build new ts video parser
    7. CONFIG += $(shell pkg-config --exists vdpau && echo "-DUSE_VDPAU")
    8. CONFIG += $(shell pkg-config --exists libva && echo "-DUSE_VAAPI")
    9. CONFIG += $(shell pkg-config --exists alsa && echo "-DUSE_ALSA")
    10. CONFIG += -DUSE_OSS


    gruß, ciax


    //edit: ohne manuelle änderung der audio bufferwerte im source

    Dateien

    • softhd_log.txt

      (191,81 kB, 133 Mal heruntergeladen, zuletzt: )

    Lascala LC17 - tribute to viking ;o) + atric IR / SoC ASUS J3455M-E / OctopusNet S4 / yavdr-(testing) vdr / output: graphTFT-fe via 6.4" TFT & DVB-S/S2 via FullHD / NVidia GT1030 passiv

  • johns danke für die Geduld, ich hatte mit ebuild... fetch unpack (Aenderungen gemacht) compile und merge gebaut....
    Nun händisch gebaut siehts viel besser aus: hab in audio.c die AudioBufferTime auf 450 gesetzt und dann copmiliert Resultat:
    http://pastebin.com/SPWZqMLM


    diese seltenen Framedrops sind von Auge fast nicht sichtbar....
    EDIT: Nach 2 Stunden TV Ruckler um Ruckler bin jetzt halt wieder zu alten Version zurück..
    cu Peje

    PCs

    Dieser Beitrag wurde bereits 1 Mal editiert, zuletzt von peje ()

  • Sowie ich sehe, hat man mit OSS Pech. Ich werde jetzt bei OSS die Bufferzeit um min. 300ms erhöhen müssen.
    Obwohl die Buffer voll sind, meint OSS das es einen Underrun hat.


    Code
    1. delay = AudioBufferTime + 300;


    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

  • Johns, zumindest sind die Drops weg: http://pastebin.com/LaJG2WHx
    cu Peje
    EDIT: Die Auswirkungen beim Zappen sind gar nicht so übel beim Umschalten ganz kurz (1/10s?) schwarzer Schirm, dann Bild ohne "Trickspeed"

    EDIT2: mit delay = AudioBufferTime + 200; klappts auch bestens: http://pastebin.com/CwYKkk6s

    PCs

    Dieser Beitrag wurde bereits 2 Mal editiert, zuletzt von peje ()

  • johns :
    Mein Log von gestern war die aktuelle Git Version, mit den gleichen makeoptionen wie bei ciax.
    Ich habe eben auch die Broken pipe Einträge im Log.
    Was mir auffällt: Der VDR läuft länger auf einem 1080i Kanal, optisch und akustisch problemlos.
    Im Log kommt meist nur das:

    Code
    1. Mar 1 02:38:42 linux-ugjv vdr: video: dropping frame (426/1421582)
    2. Mar 1 02:38:42 linux-ugjv vdr: video: 17:55:50.068 -839 1799 0/\ms 156 v-buf
    3. Mar 1 02:38:42 linux-ugjv vdr: video: 17:55:50.088 -839 1779 0/\ms 156 v-buf
    4. Mar 1 02:38:42 linux-ugjv vdr: video: dropping frame (427/1421584)
    5. Mar 1 02:38:42 linux-ugjv vdr: video: 17:55:50.148 -799 1759 0/\ms 154 v-buf
    6. Mar 1 02:38:42 linux-ugjv vdr: video: 17:55:50.168 -799 1771 0/\ms 155 v-buf
    7. Mar 1 02:38:42 linux-ugjv vdr: video: dropping frame (428/1421586)
    8. Mar 1 02:38:42 linux-ugjv vdr: video: 17:55:50.228 -759 1783 0/\ms 153 v-buf
    9. Mar 1 02:38:42 linux-ugjv vdr: video: 17:55:50.248 -759 1796 0/\ms 153 v-buf
    10. Mar 1 02:38:42 linux-ugjv vdr: video: dropping frame (429/1421588)


    Ist nicht schön, aber zumindest ist nichts von Audio Problemen im Log zu sehen. Die Video drops sind nicht sichtbar im Live Bild.


    Wenn ich dann auf einen 576i Sender umschalte kommt das:


    Dies ist dann auch am Live Bild zu sehen und zu hören. An und zu habe ich dann kurze Artefakte und unsauberen Ton.
    Dies dauert ein paar Minuten an, dann fängt sich das Plugin wieder.


    Bei meinen Tests habe ich unter SD Sendern viel mehr Probleme als unter HD.
    Ich teste mit Alsa und ohne Passthrough.

    VDR 1 (SD) : ASRock A330 GC, 1 GB RAM, TT- FF Karte rev. 2.3, 7'' TFT, Lirc X10 - Selbstbau Gehäuse - Suse 11.3 (64) vdr-1.7.10 diverse Plugins
    VDR 2 (HD) : MSI G41M-P25, 2 GB RAM, E6700 2x3.20GHz, Gainward GT220, 2TB HD, Lirc X10, TT S2-3600 USB, TT S2-1600, - Suse 11.3 (64) NvidiaTreiber 260.19 vdr-1.7.18 - xineliboutplugin 1.0.90 cvs, xine-lib 1.1.90 , s2-liplianin DVB Treiber


  • Audio / Video ist hier aber gewaltig auseinander und 1.8 Sekunden gepuffertes Audio ist auch falsch.
    Dann würde ich mal gucken welche Alsa Version. Ich denke im Moment ist mal wieder jede Version <1.0.24 Schrott.


    Zitat


    Wenn ich dann auf einen 576i Sender umschalte kommt das:

    Code
    1. Mar 1 06:03:31 linux-ugjv vdr: video: 9:13:14.094 +45 511 240/\ms 20 v-buf
    2. Mar 1 06:03:41 linux-ugjv vdr: audio/alsa: wait underrun error? 'Datenübergabe unterbrochen (broken pipe)'


    Hier schaut Audio/Video Sync und die Puffer besser aus. Aber mit 0.5s gepufferten Daten kann es keine leeren Puffer geben.
    Ich würde erstmal die Alsa Version prüfen und besondere asound.conf?


    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