Використовуючи Pi, щоб передати весь аудіо вихід з мого ПК на мій стерео


37

Моя проблема досить проста, але мені не вдалося знайти задоволення.

В основному, я хочу, щоб мій Raspberry Pi був підключений до моєї стереосистеми, а потім відтворював будь-який аудіо вихід з мого комп'ютера через wifi до PI.

Чи є спосіб зробити це легко, без використання спеціальних гравців? Тобто чи все-таки ПК може просто розпізнати Pi як "динаміки"? "

Я хотів би почути кожен звук на своєму ПК на стерео, тобто. Ігри, музика, системні звуки, сповіщення, відео на YouTube та ін.

Дуже дякую!

Відповіді:


24

Якщо ви працюєте з Linux на своєму ПК, то це цілком можливо, доки ви встановите та правильно налаштуєте PulseAudio на обох програмах Raspberry Pi та на вашому ПК Linux.

Якщо на вашому ПК працює ОС Windows ... Пропустіть до кінця публікації (яку я нещодавно оновив).

Іншим варіантом було б використання PulseAudio як приймача / клієнта AirPlay, але, наскільки я знаю, це неможливо.

Але, якщо ви використовуєте Linux, читайте далі:

Примітка №1: PulseAudio через Wi-Fi буде працювати бездоганно на деяких маршрутизаторах, але на інших не працюватиме.

Примітка №2. Наступні вказівки наведено з розмови, яку декілька користувачів Raspberry Pi (включаючи мене) мали саме на цю тему .

1) Встановіть PulseAudio на свій Raspberry Pi

sudo apt-get install pulseaudio pulseaudio-module-zeroconf avahi-daemon

2) Переконайтеся, що PulseAudio запускається автоматично:

sudo nano /etc/default/pulseaudio

Шукайте запис PULSEAUDIO_SYSTEM_START та змініть його на 1, щоб він виглядав як PULSEAUDIO_SYSTEM_START = 1

3) Налаштуйте PulseAudio для роботи по мережі:

sudo nano /etc/pulse/system.pa

Додайте наступні рядки:

load-module module-native-Protocol-tcp auth-ip-acl = 127.0.0.1; 192.168.1.0/24

load-module module-zeroconf-публікувати

4) Перезавантажте Raspberry Pi:

sudo reboot

5) Тепер на вашому ПК з Linux встановіть paprefs . Якщо ваш дистрибутив Linux базується на Debian (наприклад, Ubuntu, Mint тощо), ви можете використовувати цю команду:

sudo apt-get install paprefs

6) Запуск paprefs і під Network Access дозволяє зробити звукові пристрої виявленого PulseAudio мереж доступні локально

7) У розділі Мережевий сервер увімкніть Увімкнути мережевий доступ до локальних звукових пристроїв і позначте обидва варіанти (Це, мабуть, не потрібно, якщо ви також не хочете використовувати свою скриньку Linux як сервер / раковину)

8) Під Multicas / RTP ввімкніть обидва варіанти

9) Перевірте наявні пристрої виводу (використовуйте програму Linux distro Audio / Mixer). Ваш Raspberry Pi (повинен) з'явиться у списку; виберіть його, і все, що відтворюється у вашому Linux-полі, буде переспрямовано на Raspberry Pi.

Якщо ваш Raspberry Pi все ще недоступний, спробуйте перезапустити комп'ютер Linux.


ОНОВЛЕННЯ: Надсилання всього аудіо з Windows на Raspberry Pi

Вам потрібно буде дотримуватися попередніх інструкцій, щоб встановити та налаштувати PulseAudio на ваш Raspberry Pi.

Тепер це потрібно зробити для Windows:

1) Завантажте останню версію LineInCode

2) Розпакуйте завантажений файл

2) Завантажте Plink PTTY і помістіть файл plink.exe в ту саму папку, де ви вилучили LineInCode

3) Відкрийте Блокнот і вставте наступний код:

linco.exe -B 16 -C 2 -R 44100 | plink 192.168.1.104 -l pi -pw raspberry "cat - | pacat --server 127.0.0.1 --playback"

Звичайно, змініть IP-адресу ( 192.168.1.104 ), ім'я користувача ( pi ) та пароль ( малиновий ), щоб відповідати вашим налаштуванням.

4) Збережіть файл як audio2rpi.bat у тій же папці, де ви вилучили LineInCode

Тепер, коли ви хочете передавати аудіосистему з ПК Windows на ваш Raspberry Pi, просто двічі клацніть файл audio2rpi.bat.


Заслуга цих інструкцій: http://ubuntuforums.org/showthread.php?t=1121603


Спасибі - я віддам! чи можна використовувати pulseaudio для потокового передавання зі смартфона? Спасибі
Єронім

@Jerome Це має бути ще одне питання, яке ви задаєте на цьому веб-сайті.
syb0rg

Яку ОС ви працюєте на своєму Pi? У мене запущена нова програма Raspbmc, і, слідуючи цим інструкціям, схоже, цегла цеглить пристрій. Добре, що переформатувати так легко ...
gillonba

Я випробував ці вказівки в кількох версіях Raspbian.
xfx

Цікаво дізнатися, яку IP-адресу ми вводимо під час завантаження модуля config tcp за замовчуванням. У мене спостерігається злегка глюкозне відтворення через бездротовий доступ, але бездоганне через дротовий, що цікаво, оскільки nethogsзвіти використовуються лише 13 Кб / с.
M1ke

4

Я написав невеликий запис у блозі про те, як я працював з PulseAudio на ПК та Raspbmc на Raspberry Pi - за допомогою потокової передачі DLNA / UPnP. Це тут: http://westmarch.sjsoft.com/2014/04/streaming-audio-linux-to-raspbmc/ . Сподіваюся, що це допомагає. У той час як буфери XBMC є невеликим затримкою, тому це, мабуть, не буде чудовим для ігор чи нічого, але це чудово працює для музики.

Це досить довгий набір інструкцій - звідси посилання тут, але ось короткий опис варіанту, який працював на мене, використовуючи DLNA / UPnP:

  • apt-get встановити rygel
  • Open PulseAudio Preferences і під Network Server кліща зробити місцеві звукові пристрої доступні в якості DLNA / UPnP Media Server та створити окреме звуковий пристрій для DLNA / UPnP потокового
  • Відредагуйте конфігурацію Rygel у /etc/rygel.confабо $HOME/.config/rygel.confта налаштуйте її для публікації за допомогою GstLaunch(див. Конфігурацію нижче)
  • Перейдіть до свого файлового менеджера XBMC, знайдіть нове джерело, виберіть UPnP Devices , і ви побачите Gst Launch як опцію
  • Тоді ви повинні мати можливість сказати XBMC відтворювати аудіо з цього потоку

Ось конфігурація для Rygel для використання GstLaunch:

[GstLaunch]
enabled=true
launch-items=mypulseaudiosink
mypulseaudiosink-title=Audio on @HOSTNAME@
mypulseaudiosink-mime=audio/flac
mypulseaudiosink-launch=pulsesrc device=upnp.monitor ! flacenc

Чи можете ви включити спрощений набір інструкцій із свого допису в блозі на випадок, якщо з ним щось станеться в майбутньому?
Фред

4

Хотів зробити це сам із Windows7 -> RaspberryPi (OpenElec) і натрапив на ваше запитання. Після кількох досліджень я все ще не знайшов задовольняючого рішення для OpenElec, але у мене було достатньо інформації, щоб придумати таке, яке дуже просте і справді працює з високою якістю і лише затримка ~ 1 сек!

Тобі потрібно:

  1. VLC Media Player (я використовував v2.1.3 Rincewind на своєму Win7 x64)
  2. Звукова карта, яка забезпечує пристрій запису "Stereo Mix" (мені пощастило мати один вбудований)
  3. Raspberry Pi (я використовую OpenElec 4.0.5, хоча він повинен працювати для XBMC взагалі)

Примітка: Якщо у вас немає звукової карти, яка це підтримує, ви можете спробувати використовувати VAC ( http://www.virtualaudiocable.net/ ), хоча я кажу вам, що для мене це не працювало належним чином, погана якість звуку та буфер проблеми на всьому шляху ... але, можливо, це тільки я.

Крок 1)

Створіть пакетний файл, який запускає послугу потокового протоколу VLC http у фоновому режимі та фіксує аудіо з записувального пристрою "Stereo Mix":

@echo off

set vlc="C:\Program Files (x86)\VideoLAN\VLC\vlc.exe"
start "" %vlc% --qt-start-minimized dshow:// :dshow-vdev=none :dshow-adev="Stereo Mix (Realtek High Defini" :live-caching=10 :sout=#transcode{vcodec=none,acodec=vorb,ab=500,channels=2,samplerate=44100}:http{dst=:8080/audiostream.ogg} :sout-keep

Примітки:

  1. Можливо, вам доведеться змінити записуючий пристрій, якщо ваш має інше ім’я. Я використовував Audacity ( http://audacity.sourceforge.net/ ), щоб перевірити назви моїх пристроїв зйомки, оскільки я вже встановив його
  2. Так, бітрейт аудіо дуже високий (максимум для Vorbis), але чим більший бітрейт, тим швидше заповнюється буфер, а значить, і коротша затримка :-) (ви не можете змінити чіткість розміру буфера для музики на XBMC, я використовую 5 МБ буфер на шахті взагалі)
  3. Я спробував FLAC, MP3 і навіть WAV, окрім того, що з моїм Pi взагалі працювали лише MP3 та Vorbis, у мене був найшвидший час завантаження на Pi (в основному миттєво) і найменша затримка з Vorbis

Крок 2)

Перейдіть до

\\ rapsberrypi \ користувацькі дані \ списки відтворення \ музика

і створіть .strm файл з назвою на ваш вибір (я назвав шахту VLC.strm), який містить просте посилання на ваш потік VLC: (змініть IP на IP вашого ПК: p)

http://192.168.0.1:8080/audiostream.ogg

Крок 3)

Тепер ви можете або встановити аудіопристрій, захоплений "Stereo Mix", за замовчуванням у налаштуваннях звуку Windows, або відкрити плеєр на зразок VLC та вручну використовувати пристрій, який не використовується за замовчуванням, для відтворення музики на вашому RaspberryPi:

Відкрийте свій VLC (на додаток до мінімізованого у вашому лотку, який передає ваш "Stereo Mix"), і виконайте наступні дії:

  1. Інструменти -> Налаштування
  2. Аудіо
  3. Вихідний модуль: "WaveOut аудіо вихід"
  4. Пристрій: - ваш (аналоговий) пристрій, записаний пристроєм запису "Stereo Mix" -
  5. Зберегти
  6. Перезапустіть VLC
  7. Грати музику

Крок 4)

На вашому RaspberryPi:

  1. У XBMC перейдіть до Музика -> Списки відтворення
  2. Виберіть VLC.strm (або як ви його назвали)
  3. Насолоджуйтесь музикою!

Вирішення проблем

Якщо у вас виникли проблеми з тим, щоб ваш "Stereo Mix" працювати або захоплюватися, спершу пограйте в Windows, наприклад записуючи його за допомогою Audacity і спробуючи кілька пропозицій на форумі, як-от:

цей:

http://www.howtogeek.com/howto/39532/how-to-enable-stereo-mix-in-windows-7-to-record-audio/

або цей:

http://www.sevenforums.com/sound-audio/104497-stereo-mix-enabled-but-no-sound.html

Правильно, достатньо набрати текст на сьогодні, сподіваюся, це комусь було корисно!

BR, помер


3

Описана тут "LineInCode" -роздільна здатність працює, але звук жахливий через wifi. Наведене вище VLC-рішення також працює - але його потрібно багато натискати. Я поєднав як пакетний файл, який запустив би VLC як стример на моєму ПК та mpg123 як "списокник" на PI. Це працює як принадність для мене. Потрібно мати Plik в одній папці (ми використовуємо його як ssh-client). Цей сценарій я використовую з сьогоднішнього дня для прослуховування mp3-файлів на своєму ноутбуці, тоді як звуковий сигнал - це пі:

            REM This is fischteich's start_sound.bat v 0.3
            @echo off

            set vlc="C:\Program Files (x86)\VideoLAN\VLC\vlc.exe"
            set ssh-login=YOURLOGIN
            set ssh-pw=YOURPW
            set this-machine-ip=192.168.XXX.XXX
            set pi-ip=192.168.XXX.XXX
            set use-port=5001

            set start-string= --sout-keep --sout=#transcode{vcodec=none,acodec=mp3,ab=192,channels=2,samplerate=44100}:http{mux=mp3,dst=:%use-port%/}

            REM Start VLC ready for files to play
            @start "vlc" %vlc% %start-string%
            REM Start playback via mpg123 on the Pi!
            plink %pi-ip% -l %ssh-login% -pw %ssh-pw% "mpg123 http://%this-machine-ip%:%use-port%"

1

Одним із способів цього досягти - встановити ОС Volumio на PI Raspberry ( https://volumio.org ), дотримуючись інструкцій, наведених там. Цей розподіл включає в себе приймач ShairPort, який дозволяє пристроям Apple передавати аудіо на нього. З іншого боку, я можу просто встановити Shairport на свій вибір.

На свій ПК з Windows встановіть tuneblade ( http://tuneblade.com ), безкоштовна версія якого дозволяє передавати аудіо на комп'ютері до ShairPort на вашому малиновому пі. Він також добре працює з vlc, щоб усунути затримку звуку під час перегляду відео тощо.

Це працює для мене - я сподіваюся, що це може працювати і для вас.


Ласкаво просимо на обмін стека Raspberry Pi! Хоча це теоретично може відповісти на питання, бажано було б сюди включити істотні частини відповіді та надати посилання для довідки.
RPiAwesomeness

Tuneblade також працює з Pi MusicBox
вхід

0

Наскільки я знаю, рішення поки що немає. Існує стандарт / технологія з назвою AVB, але його підтримка, запланована на 802.11, обмежена часовою синхронізацією.


-1

Ви пробували просту аудіо потоку через Bluetooth через адаптер A2DP, підключений до стереосистеми? Використання Raspberry Pi для цього здається непосильним, хоча я дозволю собі створити аудіо потоковий аудіопристрій Bluetooth A2DP з Raspberry Pi та дешевим USB-адаптером Bluetooth.


Чудово, що ви створили Raspi, який може передавати A2DP, але ваша відповідь не допомагає мені в цьому, тому ця відповідь не є відповіддю.
Марк Бут

Жодного пі не потребує. З'єднайте свій комп'ютер із Bluetooth-приймачем і відправте звуковий сигнал прямо з ПК на стерол. Приймач Bluetooth повинен відображати як звуковий сигнал на вашому ПК.
Крістофер Біггс
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.