LINUX.ORG.RU

Потоковая передача звука с ноута на некий сервер?

 , , ,


1

2

Что хочу: лёжа с ноутом на диване иметь музычку, воспроизводимую, для чистоты эксперимента скажем, с Soundcloud на музыкальном центре, подключенным через AUX к нетбуку, который играет дома роль точки доступа Wi-Fi (hostapd). Попробовал сделать через PulseAudio, так в локалке при включении Multicast/RTP sender на любом из клиентов пинги начинают идти по 800-2000 мс.
Идея: некое устройство вывода в PulseAudio, которым прикидывается mpd и стримит по HTTP весь воспроизводимый звук. На нетбуке же с подключенной аудиосистемой запускается воспроизведение этого добра через MPlayer.
Вопросы, на какой хотите — на тот и отвечайте:
1. Как сделать так?
2. Как воплотить мою хотелку иначе?
3. Как избавиться от тормозов во всей сетке hostapd при включенном Multicast/RTP sender в PulseAudio?

★★★

Насколько сильно аудиофильство твоё? Из простого: вывод из mpd в vorbis stream и подключиться любым плеером.

audio_output {
  type  "httpd"
  name  "My HTTP Stream"
  encoder  "vorbis"  # или lame
  port  "12345"
  quality  "5.0"   # или bitrate
  format  "44100:16:1"
}
aidan ★★★★
()

Через mpd без проблем (только, естественно, играть ты сможешь только свою коллекцию), через пульсу - у меня так и не получилось добиться качественного сетевого звука.

Alsvartr ★★★★★
()
Ответ на: комментарий от aidan

Просто у ноута динамики дохлые, а тащить провод через всю комнату не прёт вообще.
И вы с Alsvartr не поняли, мне надо вообще весь вывод со спикеров ноута завернуть в поток.

kostett ★★★
() автор топика
Ответ на: комментарий от kostett

надо вообще весь вывод со спикеров ноута завернуть в поток

Ну, если сетевые возможности PulseAudio не подошли, можно воспользоваться другими костылями. Например, можно с помощью darkice захватывать звук с ALSA и стримить на сервер IceCast. Но многие аудиокарты не позволяют захватывать звук с mix канала.

Этим же darkice можно также захватывать звук из pulseaudio, но у меня почему-то любым приложением получалось записать только тишину оттуда.

Другой вариант: pulseaudio → jack → darkice → icecast. У меня работал (использовал для стриминга скайпа), но много лишних сущностей. Впрочем, если стримить нужно только для себя одного, то теоретически можно выбросить darkice и icecast, применив netjack, но я не пробовал.

( firestarter)

anonymous
()
Ответ на: комментарий от anonymous

А ещё можно попробовать VLC, он тоже умеет захватывать звук и стримить (в т.ч. выступать как сервер). Но тут та же проблема с невозможностью многих карт захватывать звук с mix канала. Но может быть из пульса получится захватить.

anonymous
()

Тспип с віфі не совместим. Нормальные пинги можно получить только в вакууме со сферической поляризацией сигнала.

nanoolinux ★★★★
()

У тебя шизофазия? Почему, блин, это так трудно собраться с мыслями и объяснить нормально что/к чему/как/куда? С твоей точки зрения ты объяснил нормально, т.к. ты фактически находишься в ситуации, а теперь попробуй прочитать это с точки зрения совершенно постороннего человека. Кому, ****ь надо твои мысленные изыски?

По теме: захватывай из monitor устройств pulseaudio аудиопоток в ffmpeg, направляй его в rtmp сервер (nginx-rtmp-module хорошо подойдет). На другом устройстве открывай поток любым удобным плеером (vlc, mplayer). Насчет pulseaudio - убедись, что частота дискретизации везде будет одна и та же (44100Hz), а то использование monitor device в лице pulseaudio тебе будет люто жрать CPU из-за передискретизации. Если другая звуковая подсистема, имеющая monitor (либо аппаратный monitor) - захватывай звук оттуда.

Удачи.

reprimand ★★★★★
()

Вы все упоролись. ВНЕЗАПНО dlna - это не аналог файлового сервера для мультимедиа, но и протокол скармливания этого мультимедиа плееру.

Shadow ★★★★★
()

Используйте PulseAudio туннели, у меня тоже с RTP проблемы были.

На клиенте:

pacmd load-module module-tunnel-sink server=192.168.5.10

На сервере:

pacmd load-module module-native-protocol-tcp auth-ip-acl=127.0.0.1;192.168.5.0/24

ValdikSS ★★★★★
()
12 августа 2014 г.
Ответ на: комментарий от ValdikSS

Немножко не в тему, но я что-то не осиливаю запустить PulseAudio от root'а, и вообще что-то странное. Полгода не трогал, решил вот сделать по вашему совету, и такое:

root@asus-debian:~# service pulseaudio restart
[ ok ] Stopping system PulseAudio Daemon:.
[ ok ] Starting system PulseAudio Daemon:.
root@asus-debian:~# pacmd load-module module-native-protocol-tcp auth-ip-acl=127.0.0.1\;192.168.0.0/24
Нет запущенного демона PulseAudio или не запущен в качестве сессионного демона.
root@asus-debian:~# cat /etc/default/pulseaudio 
PULSEAUDIO_SYSTEM_START=1
DISALLOW_MODULE_LOADING=1                              

kostett ★★★
() автор топика
Ответ на: комментарий от ValdikSS

Команда, что приведена была Вами выше для сервера, вводится на компьютере к которому подключена аудиосистема?

kostett ★★★
() автор топика
Ответ на: комментарий от kostett

Алсо, видео в mplayer лагает и с ютуба заикается. Видимо, пора 802.11n адаптеры во всю технику втыкать, эх.

kostett ★★★
() автор топика
Ответ на: комментарий от kostett

А ещё в некоторых плеерах (типа Clementine) вообще воспроизведение не начинается, или начинается и сразу обрывается. Бля.

kostett ★★★
() автор топика
Ответ на: комментарий от kostett

У меня было такое раньше со старыми версиями pulseaudio, но на пятой все в порядке, кроме flash в браузере (его приходится сначала пускать на локальный выход, подождать пару секунд и снова в туннель).

Убедитесь еще, чтобы у вас часы были точно синхронизированы между устройствами, это важно.

ValdikSS ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.