Portál AbcLinuxu, 29. června 2025 03:14


Dotaz: Zvuk ze vsech app po siti na jinem PC

4.8.2017 23:50 Bill Gates
Zvuk ze vsech app po siti na jinem PC
Přečteno: 225×
Odpovědět | Admin
Hoj kuci. Mam vice pc svazanych pres x2x. Rekneme S1, S2, S3. Do toho obcas pripojim nobtebook N. Monitory mam spasovane, ovladam jednou mysi a jednou klavesnici obvykle z N. S2 je pripojen na bedynky a hraje audio. Pocať naprosto v poho.

Odhledneme ted od x2x, ktery mi resi jen prenos mysi a klavesnice tak jak ma dle ocekavani, ac si musim trosku postezovat, nefunguje clipboard, ale da se s tim zit.

Napadlo me, ze kdyz pustim libovolnou app hrajici na N, hraje lokalne pres sve lokalni repracky na N. Jenze ja bych rad aby aplikace bezela na N a zobrazovala se na N (treba klasika youtube v prohlizeci) ale zvuk se nejlepe synchronne (si nedokazu predstavit - leda to tam posilat s predstihem a mit absolutne dokonale synhronni cas bo jinak co se zpozdenim site) na S2 do ktereho jsou pripojene bedynky.

No resenim je taky analogova cesta a to audio OUT z N pripojit do audio IN na S2 a na S2 zesilit Line In.

Lze neco takoveho po siti? Audiocesta je rychlejsi a levnejsi a jednodussi na realizaci, ale po siti by to byla dost vychytavka. Lze neco takoveho resit treba s Pulseaudio ? Ma nekdo nejaky funkcni testik ktery mu za obdobnych okolnosti fungoval?

Zajima me to jak proste app zobrazovat lokalne, ale zvuk prikazat globalne systemove hrat jinde po siti a navic synchronne. Docela mazec na realizaci. Teoreticky.

Diky za vase uvahy, rady a tipy.
Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

Josef Kufner avatar 5.8.2017 00:13 Josef Kufner | skóre: 70
Rozbalit Rozbalit vše Re: Zvuk ze vsech app po siti na jinem PC
Odpovědět | | Sbalit | Link | Blokovat | Admin
Pulseaudio tohle umí.

Mám tu takový malý skript, který nastaví tunel na vzdálenou instanci Pulseaudia, nastaví ji jako defaultsink a přesměruje vše tam:
$ cat ~/.local/bin/pa-create-tunnel
#!/bin/bash

server="$1"

if [ -z "$server" ]
then
        echo "Usage: $0 server" >&2
        exit 1
fi

set -e

# Create new tunnel and find its sink
new_module=$(pactl load-module module-tunnel-sink-new server="$server")
new_sink="$(LANG=C pactl list sinks | sed -n '/^Sink /h;G;s/\s*Owner Module:\s*'"$new_module"'\nSink #\([0-9]\+\)/\1/p')"

echo "Loaded module #$new_module with sink #$new_sink."

# Set new sink default
pacmd set-default-sink "$new_sink"

# Move everything to new sink
pacmd list-sink-inputs | sed -n '/^\s\+index/s/[^:]\+:\s\+//p' \
| while read source
do
        pacmd move-sink-input "$source" "$new_sink"
done
Na přijímajícím stroji je pak potřeba nastavit něco jako toto (používám systémovou instanci a mám to izolované firewallem, proto to povoluje vše):
# /etc/pulse/system.pa
load-module module-native-protocol-unix auth-anonymous=1
load-module module-native-protocol-tcp auth-ip-acl=0.0.0.0/0
Přenos zvuku má drobné zpoždění, řádově pár desítek až stovek milisekund, ale nepozoroval jsem, že by mi to nějak vadilo. Mám pocit, že přehrávače videa (mpv, mplayer) to umí kompenzovat, ale je to jen doměnka.
Hello world ! Segmentation fault (core dumped)

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.