Меню Рубрики

Трансляция звука по сети linux

Потоковая трансляция звука из Linux

Добрый день!
Возникла необходимость настроить потоковое вещание звука из Linux. Есть два компьютера в одной локальной сети. На одном стоит Ubuntu 19.10, на другом Windows 10. Мне нужно все звуки на компьютере с Ubuntu 19.10 выводить вместо его колонок в сеть. То есть я хотел бы запустив на компе с Windows 10 что-то типа VLC-плеера, указав в VLC-плеере IP-адрес компа с Ubuntu, слышать абсолютно все звуки компа с Ubuntu (и системные тоже) в VLC-плеере запущенном на компе с Windows 10.
Мне казалось, что эта задача на сегодня не такая уж сложная, но перерыл кучу инфы в Интернете и не нашёл решения. Есть инфа, как через PulseAudio что-то подобное реализовать, но там речь идёт о двух компьютерах с Linux и на обоих должна PulseAudio стоять и быть соответствующим образом настроена. Мне бы хотелось в идеале получить просто поток, чтобы с любого устройства для прослушивания потокового аудио его можно было услышать введя IP-адрес компа с Ubuntu.

Ещё нашёл инфу, как средствами VLC-плеера, который установлен на обоих компах, реализовать потоковое вещание:

Это решение мне бы подошло, но у VLC-плеера, который стоит у меня на компе с Ubuntu, у него нет «Режим захвата» – DirectShow и «Название аудиоустройства» — Line 1 (Virtual Audio Cable). По этому мне не удалось такое реализовать, как рассказано в статье по ссылке выше. Может кто знает, может там для Linux версий нужно какие то пакеты дополнительные ставить, или плагины какие для VLC?

Может кто подсказать что-либо по этому вопросу, как такое можно реализовать? Может есть программы под Linux какие либо для этого, помимо средств самой PulseAudio? Или может как-то VLC-плеер поднастроить и его средствами реализовать, как сказано в статье по ссылке выше?

Потоковая передача звука с телефона на компьютер
Добрый день Имеется телефон с установленным android 4.2.2. Требуется настроить потоковую передачу.

Трансляция звука в интернет
Стоит задача, транслировать звук в интернет. Обрадовался, когда нашёл ЭТУ статью, т.к там, то, что.

Трансляция звука на телефон
Здравствуйте, поломилось гнездо наушников на ноуте. Есть ли возможность транслировать звук на.

Трансляция видео и звука
Здравствуйте Вам! Необходимо реализовать трансляцию видео и звука с 1 машины на другую. Все это.

Решение

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

Linux mint: нет звука после обновления
Нет звука после обновления, как исправить ошибку.Слепых тут нет, пишите обычным шрифтом .

Драйвера звука для Asus Maximus III Formula под LinuX Ubunta 11.10
Не получается установить драйвер звука. Мать — Asus Maximus III Formula ОС — LinuX Ubunta.

Нет звука в kali linux — стоит на virtual box. Нужно драйвера ставить или что?
Нет звука в kali linux — стоит на virtual box. Нужно драйвера ставить или что?

Потоковая обработка
В общем есть 3 потока, в них идет выполнение проверки и вывода данных на экран (в Memo). В.

Источник

Трансляция звука с микрофона в сеть

Есть ли какие-то решения, позволяющие получить real-time звучание в топологии «один-ко-многим», без мультикаста. Я пробовал icecast2/darkice, ffmpeg/rtp, ffmpeg/ffserver. Но всё это меня не устроило. Какое-то глюкалово, в целом.

Кто решал, подскажите?

Тебя web интересует?

Я тут давеча обещался кому-то написать реалтайм стримилку после переезда на новое ПМЖ. Но я еще не переехал. Так что подписался на тред. Может оно уже есть. Хотя я так же не могу обещать ну прям ваще рилтайм — это зависит от минимальных размеров буфера и полупериода для конкретных частот дискретизаций при конкретном качестве сети (сопли, канал, хопы) и при конкретной звуковой карты. Т.е. поставить маленький буфер можно, но будет ловить хрюны (XRUN) по вот всем этим причинам.

Меня интересует любое решение, в котором клиенты смогут забирать потоки через vlc/ffplay и аналоги.

Ну меня устраивает mp3/8k, ffmpeg отлично умеет забирать данные с alsa/hw0,0 и кодировать их в этот формат. Но вот что с этим делать дальше 🙂

ffserver пробовал? А, вижу, пробовал. И чем не устроило?

Слушай, с ним вообще какая-то шляпа. Я так понял, что он фиды в виде файлов сохраняет и это нихрена не real-time, т.к. он их раздаёт потом по HTTP.

Именно. Только это не простой файл, а типа кольцевой буфер. И он гоняет по нему всех приконнекченых клиентов. И там такая трабла, что если у какого-то клиента сеть гавно, то буфер «растягивается» ради самого тормозного клиента. В противном случае, если клиента «подгонять» в позиции к самому быстрому клиенту, то этот медленный клиент будет получать сегментированные данные. В итоге будут хрюны, или вообще клиент не сможет распаковать мп3. Об этом я и писал в сообщении выше-выше.

А теперь еще добавь сюда проблему что тактовые генераторы на разных машинах имеют не идентичную частоту колебания.

Так это, чего делать-то?

Уменьшить размер файла-буфера. Но! Я вообще-то не в курсе можно ли так наконфижить ффсервер чтобы он клал на самого медленного клиента.

Там 16K минимально. Ну я ставил столько, всё-равно херня какая-то. Стриминг в фида отрубаешь, а клиент что-то получает потом ещё по кругу 🙂

Ну вот и приплыли. ПОтому что оно не реалтаймовое изначально.

Пошурши в пульсаудио. Народ говорил есть истории успеха.

Вот что пока получается:

1) Раздача микрофона

Задержка около 1.5 секунды.

Но есть одна проблема — клиент (или сервер) не понимает, что был обрыв вещания и соответственно при его восстановлении на клиенте звука уже нет.

В общем, кому интересно, обёртка для ffplay, позволяющая определять нештатные дисконнекты:

Источник

Сетевой аудиосервер на основе pulseaudio в ubuntu

Настройка клиента

Настройка клиента тривиальна. Ставим утилиту, которая сидит в трее и помогает быстро переключаться между серверами pulseaudio.
sudo apt-get install pulseaudio padevchooser

Далее запускаем её:
Меню — Sound & Video — PulseAudio Device Chooser
Добавим в автозапуск. Для этого щёлкаем на иконку в трее и выбираем пункт Preferences… Отмечаем флажок «Start applet on session login».

После настройки сервера его можно выбрать в меню.

Теперь любая программа, использующая pulseaudio для вывода звука, может воспроизводить звук через аудиокарту удалённого компьютера.

Настройка сервера

1. Ставим Avahi, если не стоит:
sudo apt-get install avahi-daemon

2. Нам необходим pulseaudio и модуль, автоматически размещающий данные о наличии аудиосервера в локальной сети через службу Avahi.
sudo apt-get install pulseaudio pulseaudio-module-zeroconf

3. Создадим группу audio, участники которой имеют право доступа к аудиоустройствам:
sudo groupadd audio

4. Добавим себя в эту группу:
sudo gpasswd -a user audio

5. Добавим себя ещё и в эту группу, для доступа к pulseaudio:
sudo gpasswd -a user pulse-access

6. Поставим alsa.
sudo apt-get install alsa libasound2-plugins

7. Убедимся, что вам доступны аудиоустройства. Эта комманда покажет список доступных устройств в системе.
aplay -l

8. Подправим конфиг pulseaudio:
sudo nano /etc/pulse/default.pa

У меня пропадал сигнал на alsa устройстве при одновременно включенных module-native-protocol-tcp и module-udev-detect (предположительно это баг или мои кривые руки), поэтому я убрал автоопределение звуковых карт через udev, удалив эту часть конфигурационного файла
### Automatically load driver modules depending on the hardware available
.ifexists module-udev-detect.so
load-module module-udev-detect
.else
### Alternatively use the static hardware detection module (for systems that
### lack udev support)
load-module module-detect
.endif
и раскомменторовав это
### Load audio drivers statically (it’s probably better to not load
### these drivers manually, but instead use module-hal-detect —
### see below — for doing this automatically)
load-module module-alsa-sink

Для доступа из сети к аудиосерверу раскомментируете это и добавьте параметры загрузки модуля module-native-protocol-tcp:
### Network access (may be configured with paprefs, so leave this commented
### here if you plan to use paprefs)
load-module module-esound-protocol-tcp auth-ip-acl=127.0.0.1;192.168.0.0/16
load-module module-native-protocol-tcp auth-ip-acl=127.0.0.1;192.168.0.0/16
load-module module-zeroconf-publish
где 127.0.0.1;192.168.0.0/16 — это сети, в которых будет доступен наш сервер. Так же не забудьте открыть доступ к pulseaudio в iptables.

9. Теперь нужно перезагрузить сервер. Если все прошло успешно — то у наш сервер должен появится в PulseAudio Device Chooser у клиента

Запустить аудиосервер можно, запустив следующую комманду от имени пользователя:
pulseaudio -D
Остановить так:
pulseaudio -k

Источник

Звуковой сервер Pulseaudio — передаем по сети

Было бы очень удобно, если бы дома была распределенная звуковая система, одна пара колонок на всю квартиру, а всякие ПК и ноутбуки могли на нее отправлять свои звуковые потоки, так можно избавится от кучи проводов идущих от ПК, это добавило бы мобильности к ноутбуку, уже не пришлось носить по дому мобильные колонки для ноутбука, т.к зачастую ноутбуки оборудованы отвратительным звуком. А еще можно было бы усложнить и поместить по паре акустических систем в разных комнатах и при переходе между комнатами переключать звук между ними, но как этого достичь? Ответ лежит на поверхности — уже давно в Ubuntu и Debian и других дистрибутивах установлен звуковой сервер Pulseaudio, в его функции заложена такая замечательная возможность передачи звука через локальную сеть.

  • ПК который будет выполнять роль звукового сервера
  • Звуковые карты для каждой акустической системы

В качестве ПК прекрасно подойдет домашний сервер с утановленной ОС Debian.
По умолчанию пакет не идет в минимальной установке Debian, поэтому производим его установку:

Стоит отметить что Pulseaudio может работать как в служба пользователя так и как системная служба.
В первом режиме служба не запускается пока пользователь не зайдет в систему, во втором служба запущена всегда.

Pulseaudio — переводим в системный режим

Переходим в каталог

Там находится четыре файла

client.conf — настройки для клиентской части звукового сервера.
daemon.conf — настройки Pulseaudio в режиме службы
default.pa — настройка модулей в режиме пользователя
system.pa — настрока модулей в системном режиме

В звуковом сервере нас интересуют файлы daemon.conf и system.pa

Открыаем файл daemon.conf
#Включаем режим сервиса

В файл system.pa добавляем:

запускаем звуковой сервер Pulseaudio, напоминая что настройка ведется из под пользователя root:

Клиенты для Pulseaudio

Проверим проигрывание звука через клиент, в качестве клиента выступает ПК с установленной убунту 16.04
Устанавливаю на клиенте pavucontrol:

Запускаем pavucontrol из системного меню

В командной строке вводим команду на создание туннеля к звуковому серверу:

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

Для управления громкостью подключаемся к удаленному серверу

Тут же можно переключать звуковые карты для каждого звукового потока

Теперь нам необходимо создать сервис для pulseaudio
Создаем файл:

Открываем и добавляем строки:

nano / etc / systemd / system / pulseaudio.service

[ Unit ]
Description =PulseAudio Daemon

[ Install ]
WantedBy =multi-user.target

[ Service ]
Type =simple
PrivateTmp = true
ExecStart = / usr / bin / pulseaudio —system

Перегружаем службы, добавляем в автозагрузку и запускаем:

service pulseaudio status
● pulseaudio.service — PulseAudio Daemon
Loaded: loaded ( / etc / systemd / system / pulseaudio.service; enabled; vendor preset: enabled )
Active: active ( running ) since Mon 2018 -03- 12 21 : 59 : 48 MSK; 2s ago
Main PID: 1807 ( pulseaudio )
Tasks: 4 ( limit: 4915 )
CGroup: / system.slice / pulseaudio.service
└─ 1807 / usr / bin / pulseaudio —system —realtime

мар 12 21 : 59 : 48 router pulseaudio [ 1807 ] : N: [ pulseaudio ] main.c: Running in system mode, forcibly disabling SHM mode.
мар 12 21 : 59 : 48 router pulseaudio [ 1807 ] : N: [ pulseaudio ] main.c: Running in system mode, forcibly disabling exit idle time.
мар 12 21 : 59 : 48 router pulseaudio [ 1807 ] : W: [ pulseaudio ] main.c: OK, so you are running PA in system mode. Please make sure that you actuall
мар 12 21 : 59 : 48 router pulseaudio [ 1807 ] : W: [ pulseaudio ] main.c: Please read http: // www.freedesktop.org / wiki / Software / PulseAudio / Documentati

При каждом перезапуске сервера туннель пропадает на клиенте, поэтому перезапускаем pulseaudio на клиенте, должен появиться туннель в списке устройств в pavucontrol

В процессе настройки столкнулся с особенностью — по умолчанию после перезагрузки звук отключен.
Проблема решилась установки пакета alsa-utils и сохранения настроек с помощью команды alsactl store

Управлять мастер-уровнем можно с помощью команды alsamixer

P.S. После каждой перезагрузки сервера необходимо перезапускать Pulseaudio на клиенте или просто отправлять его в перезагрузку.

Добавить комментарий Отменить ответ

Для отправки комментария вам необходимо авторизоваться.

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

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

  • Точное время в linux
  • Точки монтирования linux при установке
  • Точка монтирования в linux mint
  • Точка восстановления в linux
  • Тормозят игры на linux mint