- Помогите понять, как выводится звук через HDMI
- Нет звука в мониторе через HDMI в Ubuntu Linux. Что делать?
- Исправляем проблему отсутствия звука через HDMI в Ubuntu
- Решение 1: Изменить настройки звука по умолчанию
- Шаг 1
- Шаг 2
- Решение 2: Убейте процесс работающего звукового демона Pulse.
- Шаг 1
- Шаг 2
- Решение 3: Программа управления громкостью PulseAudio Volume Control
- Шаг 1
- Шаг 2
- Шаг 3
- У тебя получилось?
Помогите понять, как выводится звук через HDMI
Как то все время пльзовался стандартным решением — звук выводится через линейный аналоговый выход. И особой нужды не было разбираться в разных нюансах. Помогите разобраться, кому тут не напряжно ответить на вопросы.
1. Посмотрел alsasmixer. На вкаладке HDMI-устройства никакого управления нет. Через HDMI-интерфейс гонится цифра. Логично. Управление громкостью может быть только на конечном устройстве, где уже воспроизводится аналоговый сигнал (например — телевизор). Однако, в разных программах есть регулировки уровня громкости, а может быть и еще много чего. Тогда получается, это делается через puls-у? Выходит, она в реальном времени перекодирует цифровой поток? 2. Насколько я понимаю, звуковое приложение может выводить цифровой аудио-поток в различных фформатах. А если вдруг окажется, что HDMI не поддерживает этот формат, то что происходит? Та же pulsa согласовыввает необходимый формат с каждым приложением?
3. А как вообще роутятся звуковые потоки? Это настраивается в ALSA? Или можно выбрать, куда выводить для конкретного приложения в puls-е? Или и там и там по разному?
в разных программах есть регулировки уровня громкости, а может быть и еще много чего. Тогда получается, это делается через puls-у?
Нет, это делается в рамках самого приложения, еще до Pulseaudio.
А если вдруг окажется, что HDMI не поддерживает этот формат
А если у тебя обычная карточка не умеет конкретный формат?
Все зависит от настроек. В общем случае, может делаться перекодирование на лету на заданное разрешение.
3. А как вообще роутятся звуковые потоки? Это настраивается в ALSA? Или можно выбрать, куда выводить для конкретного приложения в puls-е? Или и там и там по разному?
Можно и в pulse переназначить, можно и без него в приложении указать конкретное ALSA-устройство для вывода звука.
А если у тебя обычная карточка не умеет конкретный формат?
Хороший вопрос. Пока писал вопросы про HDMI, он тоже пришел мне в глову.
Т.е. по сути нет разницы, через что выводить, так? Только в случае с ЦАП на борту компьютера alsamixer может выставить некий единый пресет по куче каналов этого ЦАП для всех источников звука. Так? А уровни громкости для каждого приложения отдельно можно выставить в pulseadio, и там на лету будет делаться перекодирование цифровых потоков? Ведь в ALSA все равно нельзя рулить аппартными параметрами воспроизведения для отдельного потока? Все равно в ЦАП (codec) даже от разных приложений, «играющих» одновременно будет поступать смкшированный программно цифровой аудиопоток?
Через HDMI-интерфейс гонится цифра. Логично. Управление громкостью может быть только на конечном устройстве, где уже воспроизводится аналоговый сигнал
не совсем так — есть различные расширения HDMI, которые позволяют управлять звуком намного гибче (CEC, ARC, eARC), но они почему-то не популярны (похоже проблемы с совместимосью разных производителей) и в alsa нет для них стандартного интерфейса.
HDMI Audio — это всего лишь цифровой транспортировщик аудиопотока. Так как в компьютере представление информации осуществляется только в цифровой форме, то исключаются преобразования аудиосигнала из цифровой в аналоговую и снова в цифровую — цифра сразу раскладывается в цифру и передаётся по проводам кабеля на конечное устройство (телевизор, монитор со стереоколонками). Там уж ЦАП преобразует цифру в аналоговый сигнал.
Нет звука в мониторе через HDMI в Ubuntu Linux. Что делать?
Как-то раз, я подключил мой Acer Aspire R13, работающий на Ubuntu 15.04 к телевизору Samsung, чтобы посмотреть фильм. К моему удивлению, через HDMI в телевизоре не было звука. Фильм воспроизводился на телевизоре, при этом звук шёл из динамиков ноутбука.
Я уже сталкивался с такой проблемой, когда HDMI аудио не работает в Ubuntu. Эта статья была написана более двух лет назад, когда я столкнулся с подобной ситуацией с Ubuntu 12.04. Но в прошлый раз в настройках во входном аудио источнике была опция HDMI, но в Ubuntu 15.04 такой опции не было, так что переход на HDMI вход был (казалось бы) невозможен.
По этой причине я решил обновить эту статью с помощью новых решений, чтобы вы могли исправить проблему отсутствия звука через HDMI в Ubuntu 12.04, 14.04 и 15.04. Хоть я и решение этой проблемы на примере Ubuntu, предполагаю, что такие советы также должны работать в Linux Mint, elementary OS и других дистрибутивах Linux, основанных на Ubuntu.
Исправляем проблему отсутствия звука через HDMI в Ubuntu
Решение 1: Изменить настройки звука по умолчанию
Я видел несколько сообщений на форуме с проблемами со звуком во внешнем мониторе в Ubuntu. К счастью, эта проблема не была сложной, по крайней мере в данном случае с Ubuntu 12.04. Причиной в моем случае было то, что по умолчанию звук был «встроенный аудио динамик». Изменение его на HDMI спасло мой день.
Шаг 1
Откройте настройки звука. Введите «звук» строке Unity (нажав клавишу Super/Windows) или из верхнего правого угла выберите системные настройки и найдите настройки звука.
Шаг 2
В настройках звука на вкладке Выход встроенный аудио был установлен на Аналоговый стерео выход. Переключите режим на выход HDMI стерео выход. Обратите внимание, что вы должны быть подключены к внешнему монитору через кабель HDMI, чтобы увидеть опцию выхода HDMI.
[Перейдите к решению 2 и 3, если вы не видите HDMI / DisplayPort в перечисленных выходных опциях].
При переключении на HDMI на левой боковой панели появится новая иконка для HDMI. Нажмите на нее и наслаждайтесь звучанием музыки.
Решение 2: Убейте процесс работающего звукового демона Pulse.
Это решение сработало для меня в Ubuntu 15.04. В отличие от предыдущего решения, на этот раз не было возможности изменить режим вывода на Digital Stereo. Я просто увидел следующую картину в настройках звука:
Интересно, что исправить это было еще проще.
Шаг 1
Подключите телевизор или внешний монитор через HDMI во время использования Ubuntu.
Шаг 2
Откройте терминал (Ctrl+Alt+T) и введите следующую команду:
Эта команда убьет процесс запущенного демона Pulse audio. Команда не нуждается в доступе суперпользователя.
Шаг 3
Теперь снова откройте Настройки звука (шаги, описанные в решении 1). Вы должны увидеть опцию HDMI во вкладке Выход:
После этого, начиная со следующего раза, HDMi будет автоматически обнаружен при подключении кабеля. Если вы снова столкнетесь с проблемой, просто выполните эту команду еще раз.
Решение 3: Программа управления громкостью PulseAudio Volume Control
Даже если второе решение не сработало, попробуйте изменить конфигурацию с помощью PulseAudio Volume Control.
Шаг 1
Откройте терминал и используйте следующую команду для установки PulseAudio Volume Control:
sudo apt-get install pavucontrol
Шаг 2
Откройте PulseAudio Volume Control
Шаг 3
На вкладке «Конфигурация» измените встроенный аудиопрофиль на HDMI:
Это должно исправить проблему звука через HDMI.
У тебя получилось?
Помогли ли предложенные здесь решения услышать звук через HDMI? Если да, то какое решение вам помогло. Если вы все еще сталкиваетесь с проблемами, не стесняйтесь задавать вопросы в разделе комментариев. Я постараюсь помочь. Удачи 🙂