Zum Inhalt springen
Startseite » Es pulsed…

Es pulsed…

Ich versuche seit geraumer Zeit die Soundausgabe auf meinem Archlinux-Rechner in den Griff zu bekommen aber irgendwas klappte immer nicht so wie es sollte. Entweder hatte ich keine Soundausgabe oder ich konnte immer nur ein Programm zur Zeit Sound ausgeben lassen. Der Wunsch Midifiles und den Video Disk Recorder(yavdr mit softhddevice) als TV Applikation auf dem Desktop zu benutzen machte die Sache nicht gerade einfacher.


Nachdem ich mich ein wenig intensiver mit der Sache beschäftigt hatte gelang es mir zumindest mit Hilfe vom Jack-Server und Fluidsynth die Midifiles wiederzugeben, leider funktionierte aber eine synchrone Ausgabe mit anderen Quellen nicht.

Das Problem

Also installierte ich Pulseaudio, jetzt funktionierte die synchrone Ausgabe von Midifiles und anderen Wiedergabeprogrammen einwandfrei. Nur der vdr wollte keinen Mucks von sich geben.
Nach ein wenig Recherche und beobachten der Debugausgaben des vdr stellte sich heraus, daß Pulseaudio immer nur von einem User zur Zeit benutzt werden kann, da der vdr aber unter einem anderen user läuft (da er normalerweise nicht für den Desktopbetrieb gedacht ist) klappte natürlich die Soundausgabe nicht und man konnte in der Debaugausgabe sehen, daß immer die Fehlermeldung „Resource belegt“ ausgegeben wurde, wenn der vdr versuchte seinen Sound über Pulseaudio auszugeben.
In den Manuals zu Pulseaudio steht man könne den pulseaudio Server im systemweiten Modus laufen lassen, allerdings wird das nicht empfohlen, grummel…
Dann besteht noch die Möglichkeit auf den pulseaudio Server per TCP zuzugreifen, nur leider wurde ich aus der englischen Pulseaudio Dokumentation nicht schlau.

Die Lösung

Nach einigem Suchen fand ich dann diese Webseite mithilfe dessen was dort beschrieben wird ist es mir dann gelungen auch den vdr zur Soundausgabe zu bewegen, allerdings muß man es etwas anders angehen als dort beschrieben, da man sich nicht als user vdr einloggen kann.

Man verfährt folgendermaßen, man muß das Ganze auf root Ebene durchführen, also
sudo su
dann
cp /etc/pulse/default.pa /home/<user>/.pulse/
Da wir uns ja als root eingeloggt haben müssen noch die Dateirechte an den Desktopuser angepasst werden.
chown <user>:users /home/<user>/.pulse/default.pa
Da im Verzeichnis „/home/vdr“ vermutlich noch kein Verzeichnis .pulse liegt müssen wir es anlegen
mkdir /home/vdr/.pulse
und die Rechte anpassen
chown vdr:vdr /home/vdr/.pulse
dann erstellt man wie beschrieben die Datei client.conf
echo "default-server = 127.0.0.1" > /home/vdr/.pulse/client.conf
Die Dateirechte müssen hier ebenfalls angepasst werden
chown vdr:vdr /home/vdr/.pulse/client.conf
Das war’s im Großen und Ganzen, dann startet man den pulseaudio Server mittels
pulseaudio -k
pulseaudio -D

wieder neu und die Tonausgabe sollte auch beim vdr funktionieren.
Hört man nur ein knistern und knacken, geht man im vdr in die Plugin Einstellungen und wählt softhddevice aus, dort schaltet man die Option „Pass-Through-Standard:“ aus.

Ich sollte noch erwähnen, daß man in der /etc/vdr/conf.d/50-softhddevice.conf noch folgendes eintragen sollte, damit’s mit pulseaudio auf jeden Fall funktioniert:
-a pulse
Zumindest bei mir hat diese Vorgehensweise mit einem laufenden Jack-Server und Pulseaudio funktioniert.

vdr vom Desktop starten

Und wer, wie ich, gerne seinen vdr per Doppeklick vom Desktop starten möchte kann das folgendermaßen machen.

VDR ein und aus

Dazu habe ich mir zwei Desktopdateien mit folgendem Inhalt angelegt:

VDR „einschalten“
[Desktop Entry]
Encoding=UTF-8
Type=Application
Icon=presence_online
Name=vdr_attach
Name[de_DE]=VDR Ein
Exec=/home/<user>/scripts/vdr/vdr_start_stop start + atta
Comment[de_DE]=vdr attachen

VDR „ausschalten“
[Desktop Entry]
Encoding=UTF-8
Type=Application
Icon=presence_offline
Name=vdr_dettach
Name[de_DE]=VDR aus
Exec=/home/<user>/scripts/vdr/vdr_start_stop stop - deta
Comment[de_DE]=vdr dettachen
StartupNotify=true

Man kopiert diese beiden Dateien in den Schreibtisch-Ordner, dann sollten die beiden Icons auf dem Desktop erscheinen (sofern man einen Desktop benutzt, der Icons unterstützt)
Die Icons „presence_online/_offline.png“ sollten unter /usr/share/icons/hicolor/ zu finden sein.

Allerdings braucht man noch ein Script zum starten und stoppen des vdr

vdr_start_stop
#!/bin/sh
sudo systemctl $1 vdr
xhost $2
svdrpsend plug softhddevice $3

Das Script muß noch mit
chmod +x vdr_start_stop
ausführbar gemacht werden.

Das Ganze funktioniert so unter Archlinux, mit entsprechenden Anpassungen sicher auch auf anderen Linuxderivaten.
Auf dem Bild kann man es zwar nicht hören aber alle drei Quellen(vdr, youtube, rosegarden) waren simultan hörbar.;-)

Desktop mit Musik

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert