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
    1. --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
    1. [ao] Using preferred device 'hdmi:CARD=NVidia,DEV=1'
    2. [ao/alsa] requested format: 192000 Hz, stereo channels, spdif-eac3
    3. [ao/alsa] using ALSA version: 1.1.3
    4. [ao/alsa] opening device 'hdmi:CARD=NVidia,DEV=1' => 'hdmi:CARD=NVidia,DEV=1,AES0=6,AES1=130,AES2=0,AES3=14'
    5. [ao/alsa] Playback open error: Device or resource busy
    6. [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.

    VDR 1: Silverstone LC20, Cougar A300/R, MSI C847MS-E33, passive Asus GT520, Sundtek MediaTV Digital Home (DVB-C/T), KNC One DVB-C, WD10EACS; Atric-IR-Einschalter. SW: Xubuntu 18.04 per SSD
    VDR 2: ACT-620, Asrock B75 Pro3-M, Celeron G540, passive Asus GT610, Cine CT V6, KNC-One DVB-C, Atric-IR-Einschalter. SW: Xubuntu 18.04 per SSD

  • 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 :)

    VDR 1: Silverstone LC20, Cougar A300/R, MSI C847MS-E33, passive Asus GT520, Sundtek MediaTV Digital Home (DVB-C/T), KNC One DVB-C, WD10EACS; Atric-IR-Einschalter. SW: Xubuntu 18.04 per SSD
    VDR 2: ACT-620, Asrock B75 Pro3-M, Celeron G540, passive Asus GT610, Cine CT V6, KNC-One DVB-C, Atric-IR-Einschalter. SW: Xubuntu 18.04 per SSD