Flash в браузерах не воспроизводит звук с использованием сетевого звука Pulse
Я использую PulseAudio для отправки звука по локальной сети на аудиосервер.
При воспроизведении любых флэш-носителей в Firefox или Chrome звук развевается ( пример), как если бы громкость увеличивалась и уменьшалась каждую секунду.
Я обнаружил, что могу остановить трепетание звука, если я буду выполнять следующие шаги:
Запустите Flash-видео, например видео на YouTube
Бежать
pulseaudio --killна сервереПодождите около 7 секунд
После этого сервер PulseAudio автоматически перезапускается, и звук во Flash-видео в порядке.
Проблема в том, что я должен делать это каждый раз, когда запускаю Flash-видео. Это явно не желательно.
Как сделать так, чтобы звук работал, когда я выполняю эти шаги, чтобы мне не пришлось их выполнять?
Я сомневаюсь, что кто-то придумает немедленное и простое решение (хотя это было бы неплохо), поэтому награда может пойти любому, кто предоставит хотя бы метод диагонализации проблемы.
подробности
Вот мои настройки вывода звукового устройства. Насколько я могу судить, все четыре устройства указывают на одно и то же физическое устройство.

Вывод журнала PulseAudio, полученный при попытке воспроизвести видео Flash.
Я пытался получить подробности регистрации от Flash, но, несмотря на установку и включение Flash для отладки, он вообще не генерировал никакого вывода.
Проблема не проявляется ни с каким другим программным обеспечением, поэтому я вполне уверен, что это специфично для того, как Flash взаимодействует с моими настройками звука.
Вот некоторые сообщения об ошибках, которые могут быть полезны:
$ cat /var/log/syslog | grep pulseaudio
Jul 30 01:40:08 mythbuntu pulseaudio[17388]: [pulseaudio] module.c: Failed to open module "module-esound-protocol-tcp": file not found
Jul 30 01:40:08 mythbuntu pulseaudio[17388]: [pulseaudio] module-gconf.c: pa_module_load() failed
Jul 30 01:40:08 mythbuntu pulseaudio[17388]: [pulseaudio] module.c: module-combine is deprecated: Please use module-combine-sink instead of module-combine!
Jul 30 01:40:08 mythbuntu pulseaudio[17388]: [pulseaudio] module-combine.c: We will now load module-combine-sink. Please make sure to remove module-combine from your configuration.
Jul 30 01:55:07 mythbuntu pulseaudio[17406]: [pulseaudio] module.c: Failed to open module "module-esound-protocol-tcp": file not found
Jul 30 01:55:07 mythbuntu pulseaudio[17406]: [pulseaudio] module-gconf.c: pa_module_load() failed
Jul 30 01:55:07 mythbuntu pulseaudio[17406]: [pulseaudio] module.c: module-combine is deprecated: Please use module-combine-sink instead of module-combine!
Jul 30 01:55:07 mythbuntu pulseaudio[17406]: [pulseaudio] module-combine.c: We will now load module-combine-sink. Please make sure to remove module-combine from your configuration.
Jul 30 02:04:43 mythbuntu pulseaudio[17433]: [pulseaudio] module.c: Failed to open module "module-esound-protocol-tcp": file not found
Jul 30 02:04:43 mythbuntu pulseaudio[17433]: [pulseaudio] module-gconf.c: pa_module_load() failed
Jul 30 02:04:43 mythbuntu pulseaudio[17433]: [pulseaudio] module.c: module-combine is deprecated: Please use module-combine-sink instead of module-combine!
Jul 30 02:04:43 mythbuntu pulseaudio[17433]: [pulseaudio] module-combine.c: We will now load module-combine-sink. Please make sure to remove module-combine from your configuration.
Вот вывод из pactl list с сервера (компьютер с динамиками).
Вот вывод из pactl list от клиента.
9 ответов
Предисловие
Мне удалось воспроизвести проблему Дейва в экспериментах, и они заставили меня поверить, что Flash каким-то образом отправляет звук в PulseAudio таким образом, что он создает большой сетевой трафик (думайте о крошечных пакетах, а не о пропускной способности); это подавляет сетевой "туннель", созданный PulseAudio, т.е.
Youtube => [PA-client => network => PA-server] => speakers
Я мог бы решить эту проблему, поместив и клиента, и сервер в их собственную виртуальную сеть, обеспечивая им бесконечно быструю связь (10 Гбит / с) между ними; очевидно, это не работает для реальных сетей:)
Итак, немного погуглив, и этот пост, и этот, дали мне идею отбросить туннель (посредник, как метко выразился Дейв) и заставить клиента общаться напрямую с сервером, т.е.
Youtube => network => PA-server => speakers
И это сработало для меня; Флэш видео / звук воспроизводятся без нареканий.
Давай попробуем!
Это предполагает, что ваш клиент-сервер находится в локальной сети (маршрутизатор и т. Д.)
Предварительно: на клиентском компьютере, если у вас есть существующая настройка, откройте
paprefsи сними галочку со всего; затем убейте PulseAudio, чтобы быть уверенным.На сервере (то есть на компьютере с динамиками) запустите PA Preferences (
paprefs) и настройте его следующим образом:



- Затем закройте его и убейте PulseAudio в терминале, как показано, подождите и проверьте, что он теперь прослушивает порт 4713:

Если вы этого не видите, откройте
paprefsеще раз и отметьте оставшиеся поля на вкладках "Доступ к сети" и "Сетевой сервер" (они не мешают)Убедитесь, что вы знаете IP-адрес сервера - используйте
ifconfigи т. д. Мы будем использовать192.168.0.4в нашем примере.
На клиентском компьютере откройте терминал и сначала протестируйте наше прямое соединение с примером речи WAV (замените 192.168... на IP своего сервера!)
wget http://www.signalogic.com/melp/EngSamples/Orig/female.wav paplay --server = 192.168.0.4: 4713 female.wav
- Прервать с помощью Ctrl-C, если он работает, он может стать скучным;)
Теперь закройте все запущенные экземпляры браузера и запустите его (при условии, что здесь используется Firefox со следующим синтаксисом):
PULSE_SERVER=192.168.0.4:4713 firefox &
замещать
192...с соответствующим IP для вашего сервера!В этом экземпляре Firefox откройте Youtube (или любой другой видео-сайт Flash) и попробуйте воспроизвести видео назад - скрестив пальцы, он должен работать без заиканий / пауз!
Застрял
Если вы хотите, чтобы это исправление применялось ко всем программам вместо того, чтобы ставить PULSE_SERVER=192.168.0.4:4713 перед каждой командой отредактируйте /etc/environment на клиенте и добавь PULSE_SERVER=192.168.0.4:4713 на новой строке в конце файла. Также добавьте разрыв строки в конце.
Это заставит весь звук на клиенте идти на сервер Pulseaudio, поэтому убедитесь, что это именно то, что вы хотите, прежде чем вносить изменения в свой /etc/environment файл.
Перезагрузитесь и наслаждайтесь приятным звуком.;)
Если проблема в Gnash, вот как это исправить:
Закройте все браузеры и выполните следующие команды:
sudo apt-get purge gnash mozilla-plugin-gnash adobe-flashplugin
тогда это sudo apt-get установить adobe-flashplugin
это исправило мои проблемы: в основном он удаляет все, что связано с Gnash, и устанавливает Flash.
Я думаю, что ваша проблема может быть связана с Flash Player.
Существует Flash-Aid плагина FireFox, который устанавливает версию appx flash в соответствии с вашей средой.
Мне удалось решить проблему инверсии цвета видео, сняв (отключив) флажок " Включить аппаратное ускорение", когда вы щелкнули правой кнопкой мыши на флэш-плеере и нажали " Настройки" ("Обновить", чтобы увидеть его эффект).
У меня те же проблемы с заиканием звука, что и у вас. Сначала он работает, потом через некоторое время начинается заикание. Надеюсь, кто-то может это исправить - хотя мне любопытно, как можно обойти импульсный аудиосервер, чтобы получить звук (я просто использую ноутбук без сетевых аудио-потребностей),
(У меня Flash 11.2 r202 на Firefox Kubuntu 12.04 amd64)
У вас установлен MIXX DJ Player? Это иногда портит звуковой сервер. По крайней мере, если вы установите его, он изменит звуковую тему по умолчанию "ubuntu" на freedesktop.
Вы можете попробовать установить "Настройки PulseAudio" в программном центре Ubuntu.
Есть несколько параметров конфигурации, связанных с сетью.
Я очень рад, что наконец нашел эту страницу.
У меня была эта проблема со многих версий Ubuntu (она начала становиться неприятной, когда padevchooser был заброшен), а теперь и с Arch. Решение установить и экспортировать переменную среды PULSE_SERVER перед запуском браузера всегда работало для меня хорошо. Не нужно ничего менять на сервере.
Но есть одна вещь, которую я не понимаю: когда я запускаю свой браузер (Chromium) из терминала в среде рабочего стола, звук работает. Когда я запускаю браузер из панели запуска (Xfce, Gnome, ...), как обычно, проблемы, описанные выше, есть. Я думаю, что это как-то связано с переменными среды X11, но это не в моих силах.
Теперь я решил проблему, отредактировав chromium.desktop файл и добавление Pulse-сервера туда:
Exec=sh -c "PULSE_SERVER=mice.local chromium %U"
Вы должны иметь эти плагины на Firefox для безупречного запуска любых носителей. Проверьте, какой у вас есть, а какой нет.

Профиль должен быть таким:

У меня та же проблема, и я еще не нашел идеального решения проблемы. Я заметил некоторые вещи, которые могут вам помочь:
1) Это происходит у меня с flash, но иногда и с html5-версией youtube. Это также случается с вами? ( http://www.youtube.com/html5/ вы можете включить html5-версию youtube здесь). Это говорит о том, что проблема не только во флэш-памяти (но может быть, как-то в браузерах?)
2) Я могу заставить звук работать должным образом, как вы, не заходя на сервер, используя pavucontrol, установив устройство вывода на локальное устройство, а затем обратно на удаленный сервер. Это решает заикание аудио и случайные паузы и пропуски видео. Это увы работает только до следующего видео.
3) Я почти уверен, что при поиске этой проблемы я наткнулся на некоторых людей, которые говорили, что проблема была связана с тем, что счетчики времени клиента и сервера не были подключены должным образом, и именно это сбрасывается при перезапуске сервера или повторном подключении к серверу. клиент (т.е. пункт 2). Я постараюсь выкопать это для вас.
Я не смог найти обещанное обсуждение, но я нашел некоторую справочную информацию о расписании на основе таймера: http://0pointer.de/blog/projects/pulse-glitch-free.html
Я нашел решение, чтобы исправить заикание при использовании module-tunnel-sink.
Все, что вам нужно сделать, это загрузить Flash Player версии 10.3 (с поддержкой аппаратного ускорения, Adobe удалила его в версии 11).
Чтобы установить это извлечь libflashplayer.so библиотека для ~/.mozilla/plugins каталог или изменить текущую ссылку, используя update-alternatives,
Помните, что в версии 10.3 есть много уязвимостей, поэтому вы используете ее на свой страх и риск.