LINUX.ORG.RU

Как вывести звук на HDMI

 ,


0

1

Есть некий музыкальный центр с интерфейсом HDMI. Как оказалось он может не только вывести изображение но и получить таким образом звук если в телевизоре выбран другой источник изображения. Но возникло желание подключить его напрямую к компьютеру.

Конечно аналоговый аудио кабель заработал и конечно по HDMI кабелю он ничего не получил. В настройках есть два вывода: линейный выход и S/PDIF.

Самое простое и естественное решение это взять монитор с двумя HDMI интерфейсами. Но во первых замена монитора пока не планируется а во вторых нет уверенности что монитор в данном случае поведёт себя как телевизор.

И вот такой вопрос: возможно ли неким образом принудительно вывести звук на HDMI при том, что та сторона не выводит (внезапно) изображение и монитором не выглядит?

Доп.: Никак. Это называется ARC (а управление – cec), и в компьютерах эти контакты не разводят за невостребованностью.

★★★★★

Последнее исправление: sin_a (всего исправлений: 1)

Когда комп может выводить звук в hdmi, у него есть отдельная звуковая карта, которая звук в hdmi выводит. Наличие hdmi порта на компе не обязательно означает, что он может туда звук штатными средствами.

Ну а так существует коробочка, которая ставится в разрыв hdmi кабеля и «подмешивает» в hdmi-сигнал звук со своего линейного аналогового входа или S/PDIF. То есть в коробочку приходят три кабеля (питание, звук, hdmi), а выходит один — hdmi со звуком.

А что касается «та сторона и монитором не выглядит», то, это отдельный вопрос, захочет ли компьютер что-то выводить в hdmi, если с той стороны список видеорежимов не дали. Обычно драйвера позволяют выводить изображение. Но, у меня в офисе есть один системник, если на момент включения компа hdmi монитор был выключен, то до полной перезагрузки картинки не будет, не смотря на то, что там винда и драйвер видеокарты стоит.

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

Да, я не совсем точно написал. Вывод возможен, если подключить телевизор то звук на него вывести можно штатными средствами. И сейчас HDMI свободен, монитор работает через d-sub.

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

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

Ну и xrandr есть всякие опции, хотя они могут не работать на закрытых дровах от nvidia.

Сейчас то в каком состоянии? Если воткнуть в ТВ, то звук выводится, а если в музыкальный центр то нет? И что в этих случаях сообщает xrandr? Или у вас wayland?

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

Да, в ТВ звук отправляется (если включить в настройках) а на музыкальный центр нет (в настройках этого вывода нет). Что, в общем, ожидаемо.

Да, сейчас wayland, при необходимости можно заменить.

$ xrandr 
Screen 0: minimum 16 x 16, current 1600 x 900, maximum 32767 x 32767
DP-1 connected primary 1600x900+0+0 (normal left inverted right x axis y axis) 430mm x 240mm
   1600x900      59.95*+
   1152x864      59.96  
   1024x768      59.92  
   800x600       59.86  
   640x480       59.38  
   320x240       59.52  
   1440x900      59.89  
   1280x800      59.81  
   1152x720      59.97  
   960x600       59.63  
   928x580       59.88  
   800x500       59.50  
   768x480       59.90  
   720x480       59.71  
   640x400       59.95  
   320x200       58.96  
   1368x768      59.88  
   1280x720      59.86  
   1024x576      59.90  
   864x486       59.92  
   720x400       59.55  
   640x350       59.77  
sin_a ★★★★★
() автор топика
Ответ на: комментарий от sin_a

Под вайлендом команда xrandr смысла не имеет. Там нужно смотреть какой композитор и гуглить какая команда в нём управялет выходами видеокарты. Если KDE, то kscreen-doctor, под Гномом gnome-randr и т.д.

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

Не сразу понял что интересен вывод когда активны оба вывода:

$ xrandr
Screen 0: minimum 16 x 16, current 3520 x 1080, maximum 32767 x 32767
HDMI-1 connected primary 1920x1080+0+0 (normal left inverted right x axis y axis) 1600mm x 900mm
   1920x1080     59.96*+
   1440x1080     59.99
   1400x1050     59.98
   1280x1024     59.89
   1280x960      59.94
   1152x864      59.96
   1024x768      59.92
   800x600       59.86
   640x480       59.38
   320x240       59.52
   1680x1050     59.95
   1440x900      59.89
   1280x800      59.81
   1152x720      59.97
   960x600       59.63
   928x580       59.88
   800x500       59.50
   768x480       59.90
   720x480       59.71
   640x400       59.95
   320x200       58.96
   1600x900      59.95
   1368x768      59.88
   1280x720      59.86
   1024x576      59.90
   864x486       59.92
   720x400       59.55
   640x350       59.77
DP-1 connected 1600x900+1920+0 (normal left inverted right x axis y axis) 430mm x 240mm
   1600x900      59.95*+
   1152x864      59.96
   1024x768      59.92
   800x600       59.86
   640x480       59.38
   320x240       59.52
   1440x900      59.89
   1280x800      59.81
   1152x720      59.97
   960x600       59.63
   928x580       59.88
   800x500       59.50
   768x480       59.90
   720x480       59.71
   640x400       59.95
   320x200       58.96
   1368x768      59.88
   1280x720      59.86
   1024x576      59.90
   864x486       59.92
   720x400       59.55
   640x350       59.77
sin_a ★★★★★
() автор топика
Ответ на: комментарий от mky

Переключился на сеанс xorg:

$ xrandr 
Screen 0: minimum 320 x 200, current 1280 x 720, maximum 16384 x 16384
HDMI-1 connected 1280x720+0+0 (normal left inverted right x axis y axis) 1600mm x 900mm
   1920x1080     60.00 +  50.00    59.94    30.00    25.00    24.00    29.97    23.98  
   1920x1080i    60.00    50.00    59.94  
   1280x1024     60.02  
   1360x768      60.02  
   1280x720      60.00    50.00*   59.94  
   1024x768      60.00  
   800x600       60.32  
   720x576       50.00  
   720x576i      50.00  
   720x480       60.00    59.94  
   640x480       60.00    59.94  
   720x400       70.08  
DP-1 connected primary 1280x720+0+0 (normal left inverted right x axis y axis) 432mm x 240mm
   1600x900      60.00 +
   1280x800      59.81  
   1152x864      75.00  
   1280x720      60.00* 
   1024x768      75.03    70.07    60.00  
   832x624       74.55  
   800x600       72.19    75.00    60.32    56.25  
   640x480       75.00    72.81    66.67    59.94  
   720x400       70.08  
HDMI-2 disconnected (normal left inverted right x axis y axis)

Это с телевизором. С музыкальным центром оба HDMI – disconnected.

Почему их два – не знаю, на плате один HDMI и один Dsub.

sin_a ★★★★★
() автор топика
Последнее исправление: sin_a (всего исправлений: 1)

Что hdmi что dp убоги для вывода звука. Ходил и в техпод зеленых и к производителю монитора все говорят, что если нет видеопотока на монитор, то нет и аудио потока. Особенность протокола(с)

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

Если звуковое устройство включено в телевизор и видео поступает в телевизор по другому интерфейсу то звук вполне передаётся, что для меня в своё время было сюрпризом. Да и телевизор в любом случае точно не выводит видео в направлении звукового устройства, это оно умеет что-то рисовать на экране. То есть, протокол это в принципе позволяет. Другой вопрос, что с компьютером, в силу каких то особенностей, такое может быть невозможным.

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

Вставлю свои 5 копеек:

/me тут баловался когда-то давно с HDMI Audio splitter'ом - одним концом в источник; с коробочки звук куда-нибудь и кабель в монитор. В общем, звука я так с коробочки и не добился - монитор не «сигналит» о том, что он умеет звук, в итоге источник не считает, что звук на HDMI вообще надо выводить.

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

Когда комп может выводить звук в hdmi, у него есть отдельная звуковая карта

Разве? Все современные видеокарты от Nvidia, Amd и Intel умеют выводить звук. Включая интегрированные.

Не исключаю, что с старыми видеокартами ситуация может быть иной.

Leupold_cat ★★★★★
()
Последнее исправление: Leupold_cat (всего исправлений: 1)
Ответ на: комментарий от Leupold_cat

Разве? Все современные видеокарты от Nvidia, Amd и Intel умеют выводить звук. Включая интегрированные.

В lspci висит ещё одна звуковая карта. Времена, когда для вывода звука в hdmi внешнюю видеокарту надо было соединять проводочком с s/pdif звуковой карты давно прошли.

Dimez ★★★★★
()
Последнее исправление: Dimez (всего исправлений: 1)
Ответ на: комментарий от Dimez

В lspci одна строчка с звуковым устройством (на всякий случай подключил телевизор и вывел звук, второе не появилось). А при выборе, в меню все называются «встроенное аудио»: https://disk.yandex.ru/i/Aib3bM7FJ3Kmwg

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

Как она правильно называется не знаю, так на ней написано «hdmi audio embedder» https://aliexpress.ru/item/1005005604559797.html?sku_id=12000033722042119&amp...

На 4К не проверял, использовал для FullHD, когда в компе оказался только DVI, чтобы на телевизор шёл hdmi со звуком.

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

Один HDMI не распаян, а видеочип поддерживает. Можно попробовать команды:

xrandr --addmode  HDMI-1 1024x768
xrandr --output HDMI-1 --mode 1024x768
xrandr --output HDMI-1 --set audio on
Если будет ругаться, что не знает такой видеорежим, то добавить, как-то так:
xrandr --newmode 1024x768 63.50  1024 1072 1176 1328  768 771 775 798 -hsync +vsync
и повторить.

Но, не знаю, заработает или нет. Варианты значений опции audio показывает вывод с опцией --verbose.

Не знаю, может у hdmi какой особый режим есть, по передачи только звука и телевизор умеет его. Базово там цифровой видеосигнал как в DVI, но ещё добавлен звук в синхропаузы. И старые мониторы с цифровым DVI не понимают HDMI сигнал со звуком, вобще не дают изображение. Видимо по этой причине видеокарты просто так не дают звук в HDMI сигнал.

Может существует какая магическая коробочка, которая притворяется hdmi монитором с поддержкой звука, но просто передаёт hdmi сигнал дальше, а может и нет. Кто знает, что придумают китайцы. Всякие же EDID заглушки и «держатель сигнала для KVM» они придумали...

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

Я про старые системы и писал. Если старая дискретка не даёт звук в hdmi, то не умеет. В топике никак не очерчены временные рамки, некрофилов на форуме хватает.

Что с новыми не особо знаю, если на дискретке 3 hdmi порта, то это три отдельных звуковых потока, или во все одинаковый звук пойдёт?

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

Команды принял, в выводе появилось, но по прежнему disconnected. Вообще, в man xrandr по слову connec находится интересное:

       --setprovideroutputsource provider source
              Set  source as the source of display output images for provider.
              This is only possible if source and  provider  have  the  Source
              Output and Sink Output capabilities, respectively.  If source is
              0x0, then provider  is  disconnected  from  its  current  output
              source.

       --setprovideroffloadsink provider sink
              Set  provider as a render offload device for sink.  This is only
              possible if provider and sink have the Source Offload  and  Sink
              Offload  capabilities,  respectively.   If  sink  is  0x0,  then
              provider is disconnected from its current render offload sink.



       --auto For  connected but disabled outputs, this will enable them using
              their first preferred mode (or, something close to 96dpi if they
              have  no  preferred mode). For disconnected but enabled outputs,
              this will disable them.

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

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

коробочка, которая притворяется hdmi монитором с поддержкой звука, но просто передаёт hdmi сигнал дальше

Может быть, конвертеров много, но по какие словам искать не соображу.

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

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

Я ещё хочу уточить, у вас не HDMI ARC, случаем? Вот эта фраза:

он может не только вывести изображение но и получить таким образом звук

что означает? Музыкальный центр является источником видеосигнала для ТВ?

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

До звука не доходит, в настройках в списке нет этого вывода (скриншот выше).

Музыкальный центр это ещё и dvd, он умеет видео и на нём почти нет дисплея, все списки через подключенный экран. Может быть ARC, я не в теме, по описанию из гугля выглядит похоже.

Нашёл инструкцию, там: «Можно подключить кабель HDMI к разъему с поддержкой реверсивного звукового канала (разъем, обозначенный аббревиатурой “ARC”) на телевизоре»

sin_a ★★★★★
() автор топика
Последнее исправление: sin_a (всего исправлений: 2)
Ответ на: комментарий от sin_a

Подождите, а CEC здесь причём? Давайте ещё раз. Если музыкальный центр выводит через HDMI разъём картинку, значит он источник видеосигнала. Телевизор его приёмник. Это базовое назначение HDMI, при котором видео и аудиопоток передаются вместе, по одним контактам и в одном направлении, от источника к приёмнику. При этом в разъёме остаются ещё контакты, не занятые передачей видеосигнала.

Контакт 14 может быть использован для ARC/eARC или HDMI Ethernet. В случае ARC звук передаётся от приёмника к источнику, и это отдельный аудиоканал. Хотя базово он предназачался для возврата звука, идущего вместе с видео, но так там может быть что угодно. Компьютерные видеокарты, насколько мне известно, не умеют ARC. Они всегда источник. Видеозвук и ARC-звук физически в разном формате, нельзя что-то просто перемкнуть в разъёме.

А CEC это контакт 13. Для управления всей кучей устройств, связаных HDMI-кабелями. Вроде как, если к ТВ на разные порты подключили музыкальный центр и комп, то потом с компа можно будет уровень громкости на ТВ или музыкальном центре регулировать. Но я не знаю видеокарт с поддержкой CEC, обычно это отдельная коробочка, пропускающая HDMI и дающая через USB интерфейс с CEC. И был CEC гемороем — устройств, понимающих CEC мало, да и все по разному понимают.

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

Если поставить кавычки, то ищется arc, только ARC — это и просто слово и куча других продуктов/технологий, лучше искать hdmi arc. Тогда разное гуглится, но, вроде даже одноплатники не умеют в hdmi arc.

И коробочка hdmi arc embedder не особо гуглится, может и нет таких, ещё нет :).

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

Спасибо, в общем понятно, буду страдать^W наслаждаться аудиофилией, аналоговыми контактами и звуками мышки :) А то для меня всё слишком просто: вот есть цифровой канал в обе стороны, в него всё и укладываем, чем оно хуже eth. А хуже тем, что хотя разводки меньше, но обработки больше.

sin_a ★★★★★
() автор топика