Strumieniowe przesyłanie dźwięku z systemu Windows do systemu Linux za pomocą PulseAudio

11

Mam Linux-a z zainstalowanym serwerem sieciowym Ubuntu + PulseAudio. Mogę przesyłać strumieniowo dźwięk z mojego laptopa (z zainstalowanym Linuksem) do urządzenia przez sieć lokalną.

Niedawno zainstalowałem system Windows 7 na swoim laptopie. Chcę przesyłać strumieniowo dźwięk z laptopa do pudełka. Czy ktoś może mi pomóc w konfiguracji przesyłania strumieniowego dźwięku przez sieć za pomocą PulseAudio z Windows do Linux?

marltu
źródło

Odpowiedzi:

1

Naprawdę prostym rozwiązaniem przy minimalnym oprogramowaniu jest przesyłanie strumieniowe audio przy użyciu VLC jako serwera RTP i skonfigurowanie źródła RTP w pulseaudio.

sebasth
źródło
Mam to działa przy użyciu VB-CABLE do kierowania dźwiękami w systemie Windows. Opóźnienie jest zauważalne, ale krótkie; tolerowana rozdzielczość na razie.
Iiridayn
0

Udało mi się użyć JACK, choć w przeciwieństwie do odpowiedzi Eira Nyma, dźwięk jest odtwarzany z Linux-a zgodnie z twoją prośbą. Zrobiłem mały opis tutaj: https://gist.github.com/kotarou3/3813bbf7833a0e4618f7fbe8a377872d

Zaletą korzystania z JACK-a nad PulseAudio byłoby mniejsze opóźnienie (pod warunkiem, że poprawnie go skonfigurujesz). Tak naprawdę nie ma znaczenia, czy po prostu grasz muzykę, ale takie rzeczy jak gry i nagrywanie wymagają niskiego opóźnienia.

Częściowe cytowanie dla potomności:

Przesyłaj strumieniowo audio z systemu Windows do systemu Linux

Testowane na Ubuntu 16.04 i Windows 10 Redstone 1

Oba urządzenia muszą znajdować się w tej samej sieci (tak aby pakiety multiemisji mogły być przekazywane między nimi)

Instalowanie

Linux

  1. Skonfiguruj JACK (łatwo zrobić z Cadence )

Windows

  1. Zainstaluj JACK i ASIO Bridge na Windowsie
  2. Uruchom regsvr32 32bits\JackRouter.dlli regsvr32 64bits\JackRouter.dllz katalogu instalacyjnego JACK
  3. Zmodyfikuj 32bits\JackRouter.inii, 64bits\JackRouter.iniaby dopasować kanał i przykładową konfigurację
  4. (Opcjonalnie) Ustaw wejście ASIO Bridge ( Hi-Fi Audio ) jako domyślne urządzenie odtwarzające

Bieganie

  1. Uruchom serwer netjack2 w systemie Linux za pomocą jack_load netmanager(prawdopodobnie można go również dodać .jackdrcdo automatycznego ładowania)
  2. Uruchom JACK NetDriver w systemie Windows (znajduje się w menu Start) lub jackd -R -d net
  3. Nowe urządzenie o nazwie hosta Windowsa powinno pojawić się na panelu patch Linux JACK ( Catia, jeśli używasz Cadence). Połącz go według własnego uznania (Uwaga: kanały mogą nie być zgodne z oczekiwaniami, jeśli masz więcej niż 2).
  4. Uruchom ASIO Bridge (także w menu Start), włącz ASIO i ustaw urządzenie ASIO na JackRouter
  5. Most ASIO powinien automatycznie skonfigurować trasy do urządzenia systemowego w panelu krosowania JACK systemu Windows. Możesz dwukrotnie sprawdzić za pomocą qjackctl ( Jack Control w menu Start) → Połączenia i połącz je, jeśli nie
小 太郎
źródło
0

Zmieniłem program znaleziony w Internecie i utworzyłem WLStream . Umożliwia przesyłanie strumieniowe audio z urządzenia wyjściowego Windows, dzięki czemu Pulse Audio będzie mogło odtwarzać go na hoście Linux. Komunikacja między nimi odbywa się za pomocą plink z Putty. Występuje opóźnienie w strumieniu audio spowodowane przez sieć, jestem pewien, że jeśli zmienisz uprawnienia do pakietu TCP wysłanego z łącza nadrzędnego lub zmienisz konfigurację routera, tak jak w przypadku VoIP, zmniejszy to opóźnienie strumienia audio, ale moje badania nie idź dalej. WLStream może być skompilowany przy użyciu programu Visual Studio 2017 i tam jest skompilowane z ostatniej wersji tutaj .

Rinaldi Segecin
źródło
0

https://github.com/duncanthrax/scream

Konfiguracja zajęła mniej niż 5 minut. Obsługuje nieprzetworzone strumienie emisji pojedynczej i multiemisji z systemu Windows przy wielu częstotliwościach próbkowania. Ma detektory dla systemu Windows, ALSA i puls-audio.

Jan
źródło
Jak to skonfigurowałeś? Zainstalowałem go na zdalnym komputerze i odtwarzam dźwięk przez urządzenie głośników krzyku, ale komputer z odbiornikiem ScreamReader niczego nie odbiera.
Martin Hansen