Результаты
Я хочу иметь возможность ходить из одной комнаты в другую и слышать, как играет одна и та же песня. Как и вы, если вы слушали радио во всех комнатах.
Мне нужен этот эффект, но я хочу слушать свою собственную музыку, можно ли это сделать?
Материалы
Первая альтернатива
Да, с помощью pulseaudio это легко сделать. Вам нужно будет установить и запустить paprefs , который сделает ваши звуковые устройства доступными по сети.
Эти настройки позволяют публиковать как источники звука, так и приемники по сети, в идеале на другой импульсный аудиосервер.
Если у вас настроен сервер без менеджера рабочего стола, вам необходимо сначала установить звуковую систему (см. этот вопрос ). Затем вы можете отредактировать /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 (см. этот вопрос ).
Мне не нужно было делать что-то необычное. У меня есть два нетбука как с PulseAudio, так и практически без названия от Intel. Как я это настроил, получилось немного примерно так.
запустить paprefs как на вашем сервере, так и на клиенте. На сервере убедитесь, что у вас включены параметры многоадресной рассылки и биты сервера проверены. например,
и многоадресный бит
На клиенте включите бит о поиске сетевых устройств с поддержкой и установите ваше устройство вывода на виртуальное сетевое устройство через pavucontrol
альт у вас теперь должно быть немного волшебства
Ваш наилучший вариант называют Демоном Аудиоплеера (mpd).
https://secure.wikimedia.org/wikipedia/en/wiki/Music_Player_Daemon
Это - клиент-серверное приложение. Вы храните свою музыку на сервере, затем соединяетесь с Вашими клиентами (много людей может сделать это сразу), и управляйте сервером.
Это уже находится в человечности, просто склонный - получают установку mpd
И также некоторая хорошая документация: https://wiki.archlinux.org/index.php/Mpd
MPD может передать музыку потоком, таким образом, у Вас может быть много клиентов (или динамики, если Вы, так хотите назвать их) играть музыку.
Но действительно не ожидайте хорошее качество. Потоковая передача останков звучит плохо (неважно, при использовании mpd или pulseaudio). Это - намного лучшая идея подключить реальные динамики к серверу и использовать ноутбуки только для управления им.
С помощью этого решения вы можете транслировать системное аудио везде, где вам нужно ..
ключ здесь - возможности петли 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
Этот ответ также доступен здесь
Я не уверен, может ли что-то вроде этого быть достигнуто с DLNA/UPnP, так как я не знаком с ним сам, но бросающий некоторые ссылки здесь в случае, если он помогает:
Хотя быстрый результат поиска предположил бы, что не возможно синхронизировать...
Если вы хотите осуществлять потоковую передачу на телефон Android, вы можете использовать Foobar2000 на сервере и BubbleUPnP (payware) на клиенте.
foobar_v1.2.5.exe
$ wine foobar2000_v1.2.5.exe
~/.wine/drive_c/Program Files/
) ufw
не блокирует соответствующий трафик Подход имеет то преимущество, что если вы сделаете паузу на Android, он будет накапливать буфер (так как сервер все еще отправляет).
Проверено на Ubuntu (Wine версия 1.5.28-0ubuntu1~ppa1
) и Windows.
Нет хорошего решения (пока). Существует AVB , но его поддержка 802.11 ограничена синхронизацией времени.