Jak przesyłać dźwięk z jednego komputera do drugiego przez sieć LAN?

11

Mam dwa komputery. Na komputerze A działa Ubuntu 11.10 z Gnome Clasic. Na komputerze B działa Mythbuntu 11.10. Komputer B ma słodki cyfrowy system dźwiękowy.

Chcę odtwarzać muzykę z Banshee na komputerze A, ale przesyłam dźwięk przez sieć LAN i wychodzę z głośników komputera B.

Znalazłem to pytanie, które wskazywało, że powinienem użyć czegoś zwanego „paprefs”, aby to osiągnąć. Więc zainstalowałem paprefs, a następnie w oknie dialogowym „Serwer sieciowy” wybrałem następujące ustawienia:

paprefs

A potem ... Nie mam pojęcia, co się stanie. Sprawdziłem stronę główną paprefs i wszystko, co mówią w Dokumentacji, brzmi: „Nie ma wiele do powiedzenia. Po prostu uruchom paprefs i przekonaj się sam”.

Nie widzę, aby coś się działo lub w jakikolwiek sposób powinienem nawiązać połączenie z komputera A do komputera B.

Jak to ma działać? Czy ktoś może podać jasne instrukcje na temat tego, co należy zrobić, aby nawiązać połączenie?

Idealnie, mam nadzieję, że mogę mieć konfigurację, która pozwala mi zawsze odtwarzać określone aplikacje, takie jak Banshee, przez sieć LAN za pomocą systemu dźwiękowego komputera B. Innymi słowy, raz skonfigurowany, jest domyślny i nie musi być ponownie łączony ręcznie za każdym razem.

Indagator
źródło

Odpowiedzi:

9

Najmniej skomplikowaną metodą wysyłania dźwięku z jednego serwera Pulse Audio do drugiego za pośrednictwem sieci LAN jest użycie funkcji RTP / Multicast, którą można skonfigurować za pomocą paprefsZainstaluj paprefs .

Na nadawcy:

Zrzut ekranu paprefs z zaznaczoną opcją „włącz nadawcę multiemisji / rtp” i zaznaczono opcję „wyślij dźwięk z lokalnych głośników”

Wybierz lokalną kartę dźwiękową lub oddzielne urządzenie, które możesz wybrać jako wyjście audio w Preferencjach audio .

Na odbiorniku:

Zrzut ekranu paprefs z zaznaczoną opcją „włącz odbiornik multicast / rtp”

W ten sposób dźwięk zostanie wysłany od nadawcy do odbiorcy za pośrednictwem sieci LAN.

Takkat
źródło
Dziękuję Ci za to. Zrobiłem te ustawienia zgodnie z opisem, ale jeśli gram w Banshee na nadawcy, nie słyszę tego na odbiorniku. Nie widzę też żadnego sieciowego urządzenia dźwiękowego w pavucontrol ani żadnych ustawień dźwięku gnomu. Czy nie muszę podejmować żadnych innych kroków?
PYTAJĄCY
Mam to uporządkowane. Musiałem: 1. Uruchomić ponownie obie maszyny. 2. Na urządzeniu Sender przejdź do ustawień dźwięku i na karcie „Wyjście” wybierz sieciowe urządzenie dźwiękowe.
PYTAJĄCY
Właśnie to zrobiłem. Mam ogromne opóźnienie i bardzo spowolniłem serwer PC ... być może coś robię źle, ale ponieważ polega tylko na zaznaczeniu dwóch pól wyboru, tak naprawdę nie wiem, co może pójść nie tak.
Greg
@Greg: w zależności od sieci i treści audio (bitrate!) Ta metoda przesyłania strumieniowego może być dość wymagająca. W razie problemów spróbuj zresetować pulseaudio, pulseaudio -kco czasami pomaga.
Takkat
Pulseaudio ma „bardzo wysoki” priorytet. Może to jest powód powolnego serwera ...
Rodrigo
2

Poniższy przykład pokazuje, jak utworzyć tunel pulseaudio TCP, aby przekazywać dźwięk z komputera alphana komputer beta. W moim przypadku na obu komputerach działa Ubuntu 14.04.

Na alpha(komputerze źródłowym) dodaj następujące wiersze do /etc/pulse/default.pa:

.fail
load-module  module-tunnel-sink  sink_name=beta  server=tcp:IP_ADDRESS_OF_BETA:4713
.nofail

(Wybierz dowolną unikalną wartość sink_name. Dowolnie zdecydowałem się użyć tej wartości beta.)

Na beta(komputerze docelowym) dodaj następujący wiersz do /etc/pulse/default.pa:

load-module  module-native-protocol-tcp  auth-ip-acl=127.0.0.1;LAN_NAME

Powyżej, LAN_NAMEi IP_ADDRESS_OF_BETAbędzie specyficzny dla twoich komputerów i twojej sieci LAN. Mogą to być na przykład:

LAN_NAME            =  192.168.1.0/24
IP_ADDRESS_OF_BETA  =  192.168.1.10

Po wprowadzeniu powyższych zmian uruchom ponownie pulseaudio, najpierw włącz beta, a następnie włącz alpha. Kolejność ma znaczenie. Ponownie uruchamiam pulseaudio za pomocą pulseaudio --kill. Biegnę pulseaudio --killjak mój pesonal UID(nie jako root), jako PulseAudio jest już uruchomiony jako mój osobisty UID.

Jeśli wszystko działało pomyślnie, powinieneś teraz zobaczyć tunel na Output Deviceszakładce pavucontrolna alpha. Podczas odtwarzania źródła audio powinieneś być w stanie skierować źródło do tunelu na Playbackzakładce pavucontrolna alpha.

Dopóki tunel jest nienaruszony, powinieneś także widzieć tunel na Playbackzakładce pavucontrolna beta. Jeśli tunel zniknie, uruchom ponownie pulseaudio, najpierw włącz beta, a następnie włącz alpha. Tunel jest tworzony tylko po pulseaudiouruchomieniu alpha.

Uwaga 1: W tym przykładzie założono, że pulseaudio działa zarówno na, jak alphai na beta. Od 2016 roku pulseaudio działa domyślnie na Ubuntu i działa od lat.

Uwaga 2: W tym przykładzie nie użyto sieci konfiguracji Avahi Zero. Avahi może być domyślnie włączony w Ubuntu, ale wyłączyłem Avahi w moich systemach. W mojej sieci LAN beta(komputer docelowy) zawsze ma ten sam adres IP i znam ten adres.

Uwaga 3: Powyższe auth-ip-aclzapewnia dostęp do dowolnego urządzenia w sieci LAN. Pulseaudio obsługuje również inne (bardziej bezpieczne) metody uwierzytelniania. Używam auth-ip-acldo uproszczenia konfiguracji.

Więcej informacji można znaleźć na następujących stronach:

/raspberrypi/8621/how-to-set-up-a-pulseaudio-sink https://www.freedesktop.org/wiki/Software/PulseAudio/Documentation/User/Network/# index2h2 https://www.freedesktop.org/wiki/Software/PulseAudio/Documentation/User/Modules/#index14h3

mpb
źródło