Как транслировать музыку по сети на несколько компьютеров?

Результаты

Я хочу иметь возможность ходить из одной комнаты в другую и слышать, как играет одна и та же песня. Как и вы, если вы слушали радио во всех комнатах.

Мне нужен этот эффект, но я хочу слушать свою собственную музыку, можно ли это сделать?

Материалы

  • Ноутбук Ubuntu.
  • Mac компьютер.

Первая альтернатива

  • Я нашел и настроил программное обеспечение в соответствии с этим ответом
  • Все программные продукты как на компьютерах, так и на сервере настроен, как мне продолжить? http://www.pulseaudio.org/wiki/FirstSteps
78
задан 13 April 2017 в 15:24

7 ответов

Да, с помощью pulseaudio это легко сделать. Вам нужно будет установить и запустить paprefs Install paprefs , который сделает ваши звуковые устройства доступными по сети.

enter image description here

enter image description here

Эти настройки позволяют публиковать как источники звука, так и приемники по сети, в идеале на другой импульсный аудиосервер.

Если у вас настроен сервер без менеджера рабочего стола, вам необходимо сначала установить звуковую систему (см. этот вопрос ). Затем вы можете отредактировать /etc/pulse/default.pa раскомментировав эти строки в разделе Доступ к сети :

load-module module-esound-protocol-tcp
load-module module-native-protocol-tcp
load-module module-zeroconf-publish

Если вы хотите использовать отправителя RTP, раскомментируйте эти строки в модуле отправителя RTP ] section:

load-module module-null-sink sink_name=rtp format=s16be channels=2 rate=44100 description="RTP Multicast Sink"
load-module module-rtp-send source=rtp.monitor

Сервер импульсов необходимо запустить как демон с pulseaudio -D, если он еще не запущен. Для оптимизации качества звука настройки в /etc/pulse/daemon.conf могут быть адаптированы к личным потребностям.

Альтернативным способом потоковой передачи аудио в вашей сети может быть настройка сервера Icecast (см. этот вопрос ).

0
ответ дан 13 April 2017 в 15:24

Мне не нужно было делать что-то необычное. У меня есть два нетбука как с PulseAudio, так и практически без названия от Intel. Как я это настроил, получилось немного примерно так.

запустить paprefs как на вашем сервере, так и на клиенте. На сервере убедитесь, что у вас включены параметры многоадресной рассылки и биты сервера проверены. например, enter image description here

и многоадресный бит enter image description here

На клиенте включите бит о поиске сетевых устройств с поддержкой enter image description here и установите ваше устройство вывода на виртуальное сетевое устройство через pavucontrol enter image description here

альт у вас теперь должно быть немного волшебства

0
ответ дан 13 April 2017 в 15:24

Ваш наилучший вариант называют Демоном Аудиоплеера (mpd).

https://secure.wikimedia.org/wikipedia/en/wiki/Music_Player_Daemon

Это - клиент-серверное приложение. Вы храните свою музыку на сервере, затем соединяетесь с Вашими клиентами (много людей может сделать это сразу), и управляйте сервером.

Это уже находится в человечности, просто склонный - получают установку mpd

И также некоторая хорошая документация: https://wiki.archlinux.org/index.php/Mpd

MPD может передать музыку потоком, таким образом, у Вас может быть много клиентов (или динамики, если Вы, так хотите назвать их) играть музыку.

Но действительно не ожидайте хорошее качество. Потоковая передача останков звучит плохо (неважно, при использовании mpd или pulseaudio). Это - намного лучшая идея подключить реальные динамики к серверу и использовать ноутбуки только для управления им.

11
ответ дан 13 April 2017 в 15:24

С помощью этого решения вы можете транслировать системное аудио везде, где вам нужно ..
ключ здесь - возможности петли ALSA. поэтому сначала вам нужно включить петлевое устройство в ALSA, которое будет отображаться в регуляторе громкости PulseAudio в качестве устройства ввода (а также устройства вывода).

sudo modprobe snd_aloop

это устройство затем может быть добавлено к серверу mpd:

mpc add alsa://hw:1,1

где hw: 1,1 - устройство ввода петлевого ввода, которое можно перечислить командой aplay -l [ 1113]

, затем вам нужно настроить плагин вывода http для mpd. следующий пример будет выглядеть в /etc/mpd.conf

 audio_output {
    type            "httpd"
    name            "My HTTP Stream"
    encoder         "vorbis"          # optional, vorbis or lame
    port            "8000"
    bind_to_address "192.168.1.38"               # optional, IPv4 or IPv6
    quality         "5.0"                   # do not define if bitrate is d$
#   bitrate         "128"                   # do not define if quality is d$
    format          "44100:16:1"
    max_clients     "0"                     # optional 0=no limit
 }  

, вот и все. Выберите устройство воспроизведения для вашего аудиоисточника на вкладке «Контроль громкости».
Наконец, вы можете использовать VLC или любой другой потоковый рендерер в точке назначения, используя адрес URL httpd: http://192.168.1.38:8000
Этот ответ также доступен здесь

0
ответ дан 13 April 2017 в 15:24

Я не уверен, может ли что-то вроде этого быть достигнуто с DLNA/UPnP, так как я не знаком с ним сам, но бросающий некоторые ссылки здесь в случае, если он помогает:

Хотя быстрый результат поиска предположил бы, что не возможно синхронизировать...

0
ответ дан 13 April 2017 в 15:24

Если вы хотите осуществлять потоковую передачу на телефон Android, вы можете использовать Foobar2000 на сервере и BubbleUPnP (payware) на клиенте.

  1. получить вино
  2. получить foobar_v1.2.5.exe
  3. $ wine foobar2000_v1.2.5.exe
  4. следующее, следующее, следующее ...:) [ 1111]
  5. получить foo_upnp
  6. извлечь в папке компонентов foobar2000 (которая, вероятно, находится в ~/.wine/drive_c/Program Files/)
  7. запустить foobar2000
  8. go в Библиотеку → Конфигурировать → Воспроизведение → Вывод → Устройство и выбрать «Нулевой вывод»
  9. , чтобы убедиться, что ufw не блокирует соответствующий трафик
  10. в BubbleUPnP:
    1. перейти Устройства → Библиотеки и выберите сервер foobar2000
    2. в «Библиотеке», выберите «Воспроизведение потока воспроизведения»

Подход имеет то преимущество, что если вы сделаете паузу на Android, он будет накапливать буфер (так как сервер все еще отправляет).

Проверено на Ubuntu (Wine версия 1.5.28-0ubuntu1~ppa1) и Windows.

0
ответ дан 13 April 2017 в 15:24

Нет хорошего решения (пока). Существует AVB , но его поддержка 802.11 ограничена синхронизацией времени.

0
ответ дан 13 April 2017 в 15:24

Другие вопросы по тегам:

Похожие вопросы: