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

72

Результаты

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

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

Материалы

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

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

  • Я нашел и установил программное обеспечение в соответствии с этот ответ
  • Все программные средства на обоих компьютерах и на сервере настроены так, как я должен продолжать? Ссылка
задан Alvar 13.04.2017 в 14:24
источник

7 ответов

45

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

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

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

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

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

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

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

ответ дан Takkat 25.02.2011 в 16:24
11

Ваш лучший вариант называется Music Player Daemon (mpd).

Ссылка

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

Это уже в ubuntu, просто apt-get install mpd

А также хорошая документация: Ссылка

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

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

    
ответ дан loxs 25.02.2011 в 21:41
11

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

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

и бит многоадресной рассылки

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

альта у вас должна быть какая-то магия сейчас

    
ответ дан lazyPower 18.09.2011 в 09:28
1

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

sudo modprobe snd_aloop

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

mpc add alsa://hw:1,1

где hw: 1,1 - устройство ввода петли может быть указано с помощью команды aplay -l

, тогда вам нужно настроить Ссылка для 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
 }  

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

    
ответ дан laplasz 13.04.2017 в 14:37
0

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

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

ответ дан Ilari Kajaste 10.06.2011 в 13:19
0

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

    
ответ дан themihai 06.09.2016 в 23:01
-2

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

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

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

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

    
ответ дан Janus Troelsen 03.05.2013 в 21:53