kein eac3 passthrough mit mpv über pulseaudio

  • Mein AV-Receiver kann Dolby Digital Plus (eac3), mit dem Raspberry geht es. Bei Wiedergabe am VDR-Rechner über mpv (nicht das Plugin) mit den Parametern

    Code
    --audio-spdif=ac3,dts,dts-hd,eac3,truehd

    bleibt der Ton stumm. Lasse ich den Parameter ec3 weg, kommt Ton aus 2 Kanälen, also ohne passthrough.

    In pavucontrol ist für die Nvidia unter 'advanced' auch ein Haken bei eac3.

    Passthough mit normalem ac3 und DTS funktioniert.


    Wenn ich mpv das Ausgabedevice explizit vorgebe und bei gestopptem vdr starte, funktioniert die passthrough-Ausgabe auch für eac3.

    Wenn ich mpv hingegen aus dem laufenden vdr heraus aufrufe (über mplayer-Plugin mit modifiziertem Script) kommt dies:

    Code
    [ao] Using preferred device 'hdmi:CARD=NVidia,DEV=1'
    [ao/alsa] requested format: 192000 Hz, stereo channels, spdif-eac3
    [ao/alsa] using ALSA version: 1.1.3
    [ao/alsa] opening device 'hdmi:CARD=NVidia,DEV=1' => 'hdmi:CARD=NVidia,DEV=1,AES0=6,AES1=130,AES2=0,AES3=14'
    [ao/alsa] Playback open error: Device or resource busy
    [ao] Failed to initialize audio driver 'alsa'

    Das Problem mit dem eac3 scheint also irgendwo bei pulseaudio/alsa zu liegen. Schade, dabei lief der vdr mit pulseaudio sonst wirklich gut.

    VDR1: ACT-620, Asus P8B75-M LX, 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.

    VDR2: Odroid N2+ mit CoreELEC und Ubuntu in chroot, WinTV DualHD

    VDR3: Tanix TX3 mit CoreELEC und Ubuntu in chroot, WinTV DualHD

  • Wenn ich die Meldung richtig verstehe, musst du dafür sorgen, dass das Alsa-Gerät von pulseaudio freigegeben wird, damit mpv es benutzen kann. Dafür sollte man z.B. den pasuspender nutzen können, um den mplayer-Aufruf zu wrappen: http://manpages.ubuntu.com/man…c/man1/pasuspender.1.html

    Alternativ gibt es auch noch ein Tool von mini73, mit dem man Pulseaudio gezielt pausieren bzw. reaktiveren lassen kann: https://github.com/flensrocker/yavdr-pasuspend


    Die bestehenden Pulseaudio-Clients frieren beim Suspend effektiv ein, bis puseaudio den regulären Betrieb wieder aufgenommen hat.

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Danke seahawk!

    Es klappt einwandfrei. Beim Starten des Scriptes vom mplayer-Plugin mache ich ein suspend und mpv kann dann direkt auf das alsa-hardware-device zugreifen. Beim Beenden resume ich wieder, und vdr kommt mit Ton zurück.


    Wenn es Lars nicht gäbe, müsste man ihn glatt erfinden :)

    VDR1: ACT-620, Asus P8B75-M LX, 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.

    VDR2: Odroid N2+ mit CoreELEC und Ubuntu in chroot, WinTV DualHD

    VDR3: Tanix TX3 mit CoreELEC und Ubuntu in chroot, WinTV DualHD

Jetzt mitmachen!

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