Sound aufsetzen bei HDMI mit pulseaudio

  • Hallo,


    ich bin neu zu YaVDR (0.7 bzw. ansible) und komme von der c't-VDR bzw. e-tobi Welt. Ich bin an sich ziemlich zufrieden, aber habe noch verschiedene Probleme.


    Zweites Problem ist der Sound:


    * trotz HDMI kriege ich den Sound nur über den Analog-Anschluß (und Lautsprecher). pulseaudio zeigt ihn als "unplugged" und bringt keinen Ton raus

    * es funktioniert auf meinem alten VDR (gleiche Hardware, andere Partition), aber es war noch mit AlSA (ohne pulseaudio)

    * von dort habe ich den `/etc/asound.conf` (asound.conf.txt um den Ton auf beide Outputs zu verteilen) übernommen, aber es scheint nichts bewirkt zu haben

    * aber auch beim Analog Ton habe ich ein Problem: die Ton-Steuerung von VDR scheint keinen Einfluss auf die Lautstärke zu haben, außer On/Off.


    Ich gebe ehrlich zu, dass ich nie wirklich Alsa und noch weniger pulseaudio durchdringt habe (ich freue mich schon auf pipewire, nicht), und wie VDR da rein spielt ist mir schleierhaft. Daher bin ich für jede Hilfe dankbar.


    Ich habe meine Schritte unter https://gitlab.com/EricPublic/…/automate/vdr/YAVDR7.adoc dokumentiert, zusammen mit meiner Konfiguration.


    Danke, Eric


    PS: mein Traum wäre, den Ton zum HDMI zu schicken, wenn der Fernseher läuft, sonst zum Analog-Port, aber ich kann auch damit leben, beide gleichzeitig zu befüttern...

    Gehäuse: Antec Fusion Remote
    Netzteil: Seasonic S12II-430GB
    Mainboard: ASUS P8H67-M EVO R.3.0
    CPU: Intel® Core™ i5-2405S
    CPU-Kühler: Scythe Samurai ZZ
    RAM: Corsair DIMM 4 GB DDR3-1600 Kit
    HD-Adapter: Scythe Twin Mounter 2.5 Rev.C
    HD root: Corsair Force F60 2,5" SSD 60 GB
    HD data: Western Digital WD5000BUCT 500 GB
    Laufwerk: Sony Optiarc AD-7283S-0S
    DVB-Karte: Digital Devices Cine CT V6, Dual DVB-C/DVB-T PCIe

    Fernbedienung: Andoer® Universal Fernbedienung, MX3 (Ersatz)

  • Ich weiß nicht, welches Ausgabeplugin Du verwendest: softhddevice? Egal, gehe mal in die Plugin-Einstellungen und stelle unter softhd? Audio von Hardware auf Software.

    Intel NUC 10 NUC10i3FNH, Digital Devices Octopus NET V2 Max M4, 1000 GB Samsung 970 Evo M.2 2280 PCIe 3.0 x4 NVMe, LG OLED 77CX9LA

  • Für die gleichzeitige Ausgabe auf mehreren Geräten mit pulseaudio kann man wie in https://medium.com/@joao.paulo…me-in-ubuntu-4943ef0c16db beschrieben vorgehen.


    Damit die Lautstärkeregelung in den softhd* Plugins in Software funktioniert, muss die Option softhddevice.AudioSoftvol = 1 gesetzt sein.


    Wenn man pulseaudio deaktivieren will, muss man ein bisschen mehr machen als die /etc/asound.conf abzuändern - denn das verhindert ja nicht, dass pulseaudio gestartet wird und sich zunächst erst mal alle verfügbaren Soundkarten greift.


    Es gibt die Möglichkeit pulseaudio zu pausieren, wenn das VDR-Frontend aktiv ist - dazu kann man in der /etc/yavdr-frontend/config.yml die Option use_pasuspend für das jeweilige Ausgabeplugin auf True setzen. Das hat den Vorteil, dass Programme wie Firefox, die mittlerweile keine Alsa-Unterstützung mehr bieten trotzdem noch Ton Ausgeben können, wenn man sie über das Desktop-Plugin bzw. yavdr-frontend so startet, dass sie statt des VDR-Frontends laufen.


    Wenn man pulseaudio komplett deaktivieren will, sollte man autospawn = no in der /etc/pulse/client.conf setzen und die pulseaudio.service aus dem Autostart von Openbox entfernen (vgl. https://github.com/yavdr/yavdr…/openbox/autostart.j2#L12 und zu den disabled_services hinzufügen).

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • softhddevice.AudioSoftvol = 1 in /var/lib/vdr/setup.conf während vdr nicht läuft hat schon mal geholfen.


    Bei der gleichzeitigen Ausgabe bin ich noch unsicher: pacmd list-sinks (als Benutzer vdr) listet nur einen:

    Code
    1. 1 sink(s) available.
    2. * index: 0
    3. name: <auto_null>
    4. driver: <module-null-sink.c>
    5. [...]

    und ich verstehe nicht, warum ich explizit sinks kreieren müsste, pulseaudio scheint schon davon zu wissen? System->Pulsecontrol in VDR zeigt doch schon fast 2 Seiten an output-Profile z.B. output:analog-stereo und output:hdmi-stereo-extra1.

    Gehäuse: Antec Fusion Remote
    Netzteil: Seasonic S12II-430GB
    Mainboard: ASUS P8H67-M EVO R.3.0
    CPU: Intel® Core™ i5-2405S
    CPU-Kühler: Scythe Samurai ZZ
    RAM: Corsair DIMM 4 GB DDR3-1600 Kit
    HD-Adapter: Scythe Twin Mounter 2.5 Rev.C
    HD root: Corsair Force F60 2,5" SSD 60 GB
    HD data: Western Digital WD5000BUCT 500 GB
    Laufwerk: Sony Optiarc AD-7283S-0S
    DVB-Karte: Digital Devices Cine CT V6, Dual DVB-C/DVB-T PCIe

    Fernbedienung: Andoer® Universal Fernbedienung, MX3 (Ersatz)

  • Bei der gleichzeitigen Ausgabe bin ich noch unsicher: pacmd list-sinks (als Benutzer vdr) listet nur einen:

    Wie bist du der Nutzer vdr geworden? Damit die meisten Umgebungsvariablen (mit Ausnahme von DISPLAY, das üblicherweise auf :0 gesetzt werden sollte) gleich passend gesetzt werden, kann man sich mit einer von der Session des Users VDR gestarteten tmux-Instanz verbinden: sudo tmux -S /tmp/tmux-666/default - dann sollten pactl und pacmd mit der selben pulseaudio-Instanz reden wie der VDR.

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Aah, das hatte ich wohl vergessen (lectitanda hatte ich...). Danke, ich versuche es damit. Ich verstehe noch nicht alles, aber ich sollte damit vorankommen können.

    Gehäuse: Antec Fusion Remote
    Netzteil: Seasonic S12II-430GB
    Mainboard: ASUS P8H67-M EVO R.3.0
    CPU: Intel® Core™ i5-2405S
    CPU-Kühler: Scythe Samurai ZZ
    RAM: Corsair DIMM 4 GB DDR3-1600 Kit
    HD-Adapter: Scythe Twin Mounter 2.5 Rev.C
    HD root: Corsair Force F60 2,5" SSD 60 GB
    HD data: Western Digital WD5000BUCT 500 GB
    Laufwerk: Sony Optiarc AD-7283S-0S
    DVB-Karte: Digital Devices Cine CT V6, Dual DVB-C/DVB-T PCIe

    Fernbedienung: Andoer® Universal Fernbedienung, MX3 (Ersatz)

  • Um das Thema abzuschließen: die Lösung bestand darin `/etc/pulse/default.pa` nach `~vdr/.config/pulse/default.pa` zu kopieren und folgende Zeilen hinzuzufügen:

    Code
    1. set-card-profile alsa_card.pci-0000_00_1b.0 off
    2. load-module module-alsa-sink device=front:0 sink_name=analogOut sink_properties=device.description=AnalogOut
    3. load-module module-alsa-sink device=iec958:0 sink_name=digitalOut sink_properties=device.description=digitalOut
    4. load-module module-alsa-sink device=hdmi:0,1 sink_name=hdmiOut sink_properties=device.description=HdmiOut
    5. load-module module-combine-sink sink_name=combinedOut slaves=digitalOut,analogOut,hdmiOut
    6. set-default-sink combinedOut


    digitalOut habe ich nicht zum fliegen gebracht, aber analogOut und hdmiOut tun, das reicht mir erstmal. Und analog tat lange nicht, weil ich den Stecker falsch eingesteckt hatte... Na ja, so kann man sich auch die Zeit vertreiben. Danke für die Hilfe!

    Gehäuse: Antec Fusion Remote
    Netzteil: Seasonic S12II-430GB
    Mainboard: ASUS P8H67-M EVO R.3.0
    CPU: Intel® Core™ i5-2405S
    CPU-Kühler: Scythe Samurai ZZ
    RAM: Corsair DIMM 4 GB DDR3-1600 Kit
    HD-Adapter: Scythe Twin Mounter 2.5 Rev.C
    HD root: Corsair Force F60 2,5" SSD 60 GB
    HD data: Western Digital WD5000BUCT 500 GB
    Laufwerk: Sony Optiarc AD-7283S-0S
    DVB-Karte: Digital Devices Cine CT V6, Dual DVB-C/DVB-T PCIe

    Fernbedienung: Andoer® Universal Fernbedienung, MX3 (Ersatz)