Проблема:
При потоковой передаче по сети с использованием PulseAudio звук очень прерывистый. Редактирование /etc/pulse/daemon.conf
и изменение значений default-fragments
иdefault-fragment-size-msec
неулучшить ситуацию.
Брандмауэр не включен ни в одной из систем. Какие еще варианты у меня есть?
Подробности установки:
Я использую paprefs для включения сетевого звука:
Настройки отправителя:
Настройка приемника:
Содержание /etc/pulse/daemon.conf
:
; daemonize = no
; fail = yes
; allow-module-loading = yes
; allow-exit = yes
; use-pid-file = yes
; system-instance = no
; local-server-type = user
; enable-shm = yes
; enable-memfd = yes
; shm-size-bytes = 0 # setting this 0 will use the system-default, usually 64 MiB
; lock-memory = no
; cpu-limit = no
; high-priority = yes
; nice-level = -11
; realtime-scheduling = yes
; realtime-priority = 5
; exit-idle-time = 20
; scache-idle-time = 20
; dl-search-path = (depends on architecture)
; load-default-script-file = yes
; default-script-file = /etc/pulse/default.pa
; log-target = auto
; log-level = notice
; log-meta = no
; log-time = no
; log-backtrace = 0
; resample-method = speex-float-1
; avoid-resampling = false
; enable-remixing = yes
; remixing-use-all-sink-channels = yes
; remixing-produce-lfe = no
; remixing-consume-lfe = no
; lfe-crossover-freq = 0
; flat-volumes = no
; rescue-streams = yes
; rlimit-fsize = -1
; rlimit-data = -1
; rlimit-stack = -1
; rlimit-core = -1
; rlimit-as = -1
; rlimit-rss = -1
; rlimit-nproc = -1
; rlimit-nofile = 256
; rlimit-memlock = -1
; rlimit-locks = -1
; rlimit-sigpending = -1
; rlimit-msgqueue = -1
; rlimit-nice = 31
; rlimit-rtprio = 9
; rlimit-rttime = 200000
; default-sample-format = s16le
; default-sample-rate = 44100
; alternate-sample-rate = 48000
; default-sample-channels = 2
; default-channel-map = front-left,front-right
; default-fragments = 4
; default-fragment-size-msec = 25
; enable-deferred-volume = yes
deferred-volume-safety-margin-usec = 1
; deferred-volume-extra-delay-usec = 0
default-fragments = 5
default-fragment-size-msec = 25
Звук на приемнике все еще довольно прерывистый. При использовании RTP/Multicast настройка была менее надежной, и мне даже не удалось заставить ее работать достаточно хорошо, чтобы протестировать.
решение1
Документация PulseAudio
Ниже представлена документация изНастройка сети PulseAudio
решение2
Спецификация вашей проблемы довольно легкая. Я предлагаю вам разместить:
- Содержимое вашего
/etc/pulse/default.pa
. - Как вы пытались играть по сети (если через командную строку, то напишите точную команду).
В то же время, я не буду пытаться писать общее описание того, как использовать Pulseaudio для RTP/Multicast. Я подожду, пока вы добавите эту информацию, чтобы помочь идентифицироватьтвоя проблема.
Возможные полезные действия:
- Использование параметров ведения журнала см.страница руководства.
- Проведите тестирование с двумя компьютерами, расположенными близко к маршрутизатору.
- Пытатьсяэта последовательность, если вы еще этого не сделали. Проверьте также другие ответы в том же вопросе.
- paprefsможет помочь с настройкой pulseaudio. Обратите внимание, что после установки в Ubuntu 20 (вы не указали свою версию) все опции в paprefs будут отображаться серыми. Вам нужно настроить мягкую ссылку на фактическую версию с помощью
sudo ln -s /usr/lib/pulse-13.99.1 /usr/lib/pulse-13.99
(источники:1,2). - Проверьте шаги вэто руководство дляPulseAudio по сети.
Варианты потокового аудио
Относительно Вашего вопроса:Какие еще варианты у меня есть?
Демон музыкального проигрывателя (MPD)
"Music Player Daemon (MPD) — гибкое, мощное серверное приложение для воспроизведения музыки. С помощью плагинов и библиотек он может воспроизводить различные звуковые файлы, при этом управляясь своим сетевым протоколом."
MPD — это зрелое серверное приложение, находящееся в активной разработке. Существует длинныйсписок доступных клиентов.
Icecast
"Icecast — это сервер потокового мультимедиа (аудио/видео), который в настоящее время поддерживает потоки Ogg (Vorbis и Theora), Opus, WebM и MP3. Его можно использовать для создания интернет-радиостанции или частного музыкального автомата и многого другого. Он очень универсален, так как новые форматы можно добавлять относительно легко, и поддерживает открытые стандарты для общения и взаимодействия."
Подробные, проверенные инструкции вы найдете вКак настроить сервер Icecast для трансляции звука в моей сети?. Нет необходимости копировать и вставлять это сюда.
Другие варианты
... перечисленыздесь.
Связанный:
решение3
Я обновил обе системы до Ubuntu 21.04 (просто в плановом порядке), и после этого, хотя RTP/Multicast не стал лучше (на самом деле, даже хуже), использование опции zeroconf (см. скриншот) работает просто отлично. Он все еще не идеален, но гораздо лучше, чем раньше.
Музыка достаточно плавная, чтобы слушать ее с одной системы на другой, слышно четко, без постоянных заиканий и искажений.