Da ich endlich mal schnelles Internet habe (50/10), kann ich nun auch endlich mal ein wenig streamen.

An sich ist es gar nicht kompliziert:

  • OBS Studio läuft unter Arch problemlos und ist in den Repos
  • und das war’s auch schon

OBS Studio hat einen Autokonfigurations-Assistenten welcher den besten Server und die passende Streamqualität auswählt.

Teamspeak Audio separieren

Ein kleines Problem hatte ich jedoch. Da ich oft in TeamSpeak bin wird natürlich auch der Sound davon gestreamt. Das wollte ich jedoch nicht.

Per pactl list sinks short kann man sich die aktuellen Sinks anzeigen lassen.

0	alsa_output.pci-0000_01_00.1.hdmi-stereo	[...]
1	alsa_output.pci-0000_00_1b.0.analog-stereo	[...]

Wir brauchen nun einen Sink der alles bekommt, was gestreamt werden soll. Also einen neuen null-sink erstellen mit pactl load-module module-null-sink

Nun haben wir

0	alsa_output.pci-0000_01_00.1.hdmi-stereo	[...]
1	alsa_output.pci-0000_00_1b.0.analog-stereo	[...]
2	null	module-null-sink.c	s16le 2ch 48000Hz	IDLE

nullsink

Jetzt noch die Sinks verbinden, damit man auch was hört

pactl load-module module-combine-sink slaves=<nummer1>,<nummer2>

nummer1 und nummer2 sind in diesem Fall bei mir slaves=1,2

nullsink

Nur noch obs sagen auf welchem Sink es zuhören soll. Also in obs zu den Einstellungen und beim Audio Tab bei Desktop Audio Device den Monitor auswählen.

Jetzt können wir über pavucontrol für jedes Programm auswählen, was mit dem Sound passieren soll

  • Nur selbst hören
    • Built-in
  • Selbst hören und streamen
    • Monitor auswählen
  • Nur streamen
    • Null output

Automatisieren

Da wir das ja auch nach jedem Systemstart so haben wollen, müssen wir in ~/.config/pulse/default.pa zwei Zeilen hinzufügen

load-module module-null-sink
[...]
load-module module-combine-sink sink_name=combined slaves=null,alsa_output.pci-0000_00_1b.0.analog-stereo

module-combine-sink am besten an das Ende der Config klatschen.

Quelle: link