Звук в NX-сессии (У кого работает?)
Модераторы: dimbor, Модераторы разделов
-
- Сообщения: 83
- ОС: Gentoo
Звук в NX-сессии
Здравствуйте, уважаемые форумчане,
На днях решил поразбираться с поддержкой звука в связке FreeNX и Win-клиентов. Прояснил для себя что звук пропихивается через автоматом форварднутый порт к слушающему на клиенте nxesd.exe, а на сервере требуется поддержка программами esound-демона. Без особых проблем удалось заставить работать программы, имеющие собственные esd-плагины, типа VLC и mplayer. Качественной поддержкой звука это не назовёшь, конечно, поскольку синхронизации с видео никакой нет, но всё же, лучше чем ничего. Проблемы возникли с другими программами, где явной поддержки esd нет. Таким образом, наглухо отказался запускаться, к примеру, Firefox, при su шла ругань на невозможность загрузки библиотек libesd, звука, разумеется, не было. Полагаю, это связано с 64-битной системой.
Всвязи с этим вопрос. У кого-нибудь получилось мало-мальски нормально передавать аудио через NX-сессию, будь то Linux-Linux или Linux-Windows. Как я понял в связке Linux-Linux используется ARTS, в отличие от старого ESD. Возможно в связке Linux-Linux всё прекрасно работает?
Вопрос второй. Как мне известно, у Pulseaudio есть обратная совместимость с esd. Возможна-ли его совместная работа в NX-среде? Это было-бы, полагаю, наилучшим решением, но с налёту у меня решить проблему не получилось, хотя небольшой опыт настройки Pulseaudio есть.
Буду рад услышать Ваши мысли по этому поводу. Всё-таки, на мой взгляд, тема заслуживает внимания, учитывая развитие терминальных технологий. Многим пользователям всё-таки хочется иногда послушать музыку или услышать звук на веб-сайте.
На днях решил поразбираться с поддержкой звука в связке FreeNX и Win-клиентов. Прояснил для себя что звук пропихивается через автоматом форварднутый порт к слушающему на клиенте nxesd.exe, а на сервере требуется поддержка программами esound-демона. Без особых проблем удалось заставить работать программы, имеющие собственные esd-плагины, типа VLC и mplayer. Качественной поддержкой звука это не назовёшь, конечно, поскольку синхронизации с видео никакой нет, но всё же, лучше чем ничего. Проблемы возникли с другими программами, где явной поддержки esd нет. Таким образом, наглухо отказался запускаться, к примеру, Firefox, при su шла ругань на невозможность загрузки библиотек libesd, звука, разумеется, не было. Полагаю, это связано с 64-битной системой.
Всвязи с этим вопрос. У кого-нибудь получилось мало-мальски нормально передавать аудио через NX-сессию, будь то Linux-Linux или Linux-Windows. Как я понял в связке Linux-Linux используется ARTS, в отличие от старого ESD. Возможно в связке Linux-Linux всё прекрасно работает?
Вопрос второй. Как мне известно, у Pulseaudio есть обратная совместимость с esd. Возможна-ли его совместная работа в NX-среде? Это было-бы, полагаю, наилучшим решением, но с налёту у меня решить проблему не получилось, хотя небольшой опыт настройки Pulseaudio есть.
Буду рад услышать Ваши мысли по этому поводу. Всё-таки, на мой взгляд, тема заслуживает внимания, учитывая развитие терминальных технологий. Многим пользователям всё-таки хочется иногда послушать музыку или услышать звук на веб-сайте.
-
- Сообщения: 373
- Статус: изучающий
- ОС: CentOS, FreeBSD
-
- Сообщения: 3
Re: Звук в NX-сессии
Что решения пока нет? Мне вот тоже интересно
-
- Сообщения: 4
Re: Звук в NX-сессии
Здравствуйте.
По поводу звука в сессии FreeNX.
Кто-то оптимальное решение нашел?
Я пробывал в Slackware Linux.
Поставил FreeNX и ESD. Звук играл не плохо.
До ФФ недошел.
Есть программа которая не поддерживает ESD.
Есле ее запускать через esd - в консоли - esd название программы,
она выдает звук по тесту один раз и все, виснит.
Она имеет SIP. И мне надо передавать звук по микрофону и получать.
Микрофон через FreeNX тоже незнаю как сделать.
Может кто то пробывал ?
И еще один вопрос. Я думал тогда, через Pulseaudio получать звук.
Может быть программа не висла и микрофон заработал, бы. Но через Pulseaudio не получется сделать звук вообще.
Пробывал в Fedora 10, но не вышло никак. Там ESD вообще в устройствах не появляется.
Как настроить через Pulseaudio звук ? Подробная инструкция, если есть.
Кстати, вроде в NX4 все работает, я читал, но он платный и дорогой очень, а проба 60 дней и два человека только могут работать.
По поводу звука в сессии FreeNX.
Кто-то оптимальное решение нашел?
Я пробывал в Slackware Linux.
Поставил FreeNX и ESD. Звук играл не плохо.
До ФФ недошел.
Есть программа которая не поддерживает ESD.
Есле ее запускать через esd - в консоли - esd название программы,
она выдает звук по тесту один раз и все, виснит.
Она имеет SIP. И мне надо передавать звук по микрофону и получать.
Микрофон через FreeNX тоже незнаю как сделать.
Может кто то пробывал ?
И еще один вопрос. Я думал тогда, через Pulseaudio получать звук.
Может быть программа не висла и микрофон заработал, бы. Но через Pulseaudio не получется сделать звук вообще.
Пробывал в Fedora 10, но не вышло никак. Там ESD вообще в устройствах не появляется.
Как настроить через Pulseaudio звук ? Подробная инструкция, если есть.
Кстати, вроде в NX4 все работает, я читал, но он платный и дорогой очень, а проба 60 дней и два человека только могут работать.
-
- Ведущий рубрики
- Сообщения: 1570
- Статус: Подвинутый участник
Re: Звук в NX-сессии
duxanx писал(а): ↑30.01.2012 18:54И еще один вопрос. Я думал тогда, через Pulseaudio получать звук.
Может быть программа не висла и микрофон заработал, бы. Но через Pulseaudio не получется сделать звук вообще.
Пробывал в Fedora 10, но не вышло никак. Там ESD вообще в устройствах не появляется.
Как настроить через Pulseaudio звук ? Подробная инструкция, если есть.
О rаких-либо инструкциях не известно. Если сами откроете тайну укрощения ESD, то будет первая.
По поводу PA, рекомендую посмотреть на opennx в качестве клиента. Краем глаза видел, что его разработчик энтим делом занимался.
4-й - не OSS, а посему среди джентельменов тутошней грядки его упоминание считается моветоном.

-
- Сообщения: 4
Re: Звук в NX-сессии
Спасибо за ответ dimbor.
Я клиент OPENNX пробывал. я так понял сто он не сильно и отличается.
От NX клиента. Там (клиент OPENNX) и там клиент NX , есть поддержка мультимедиа (галочка).
Только в OPENNX почемуто nxesd.exe не завершает процес.
А так ничего сильно разного в работе не заметил.
Правда OPENNX выдает сообщение при Подготовке мультисервисов - "Не удалось запустить мультимедиа сервисы ",
я так понял ESD.
Я стал копать логи сессии и увидел:
Я так понял что это и имеют ввиду клиенты NX или OPENNX что не могут запустить мультимедиа сервисы.
На Slackware Linux OPENNX и Логи не проверял так как там ESD работал, нужно будет попробовать.
В Slackware Linux нет Pulseaudio.
Еще пробовал в node.conf прописать как писали иностранцы.
потом анлог Pulseaudio как я понял
и все тежи ошибки в логах, сессии.
В Slackware Linux этот параметр у меня работал так:
если я его прописывал тогда программа которая неподдержывала ESD запускались автоматом.
Если Не прописывал параметр тогда через коммандною строку - esd программа.
Вообщем если подытожить то у меня из под Slackware Linux у меня болеее менее получилось со звуком
(музыка играла и видео тоже, правда вот не каждая программа хорошо играет через ESD ).
И я доволен этим результатом. А вот из под Fedora 10 нет. Может из-за Pulseaudio ?
Но я пытался удалить Pulseaudio и компилировал ALSA. Но не появляется у меня ESD в устройствах.
А через Pulseaudio я думал что многие программы будут работать.
Так вот незнаю, пока мысли и интерес немного иссяк. Буду ждать, может что то поменяется. Идея сама хорошая.
Я клиент OPENNX пробывал. я так понял сто он не сильно и отличается.
От NX клиента. Там (клиент OPENNX) и там клиент NX , есть поддержка мультимедиа (галочка).
Только в OPENNX почемуто nxesd.exe не завершает процес.
А так ничего сильно разного в работе не заметил.
Правда OPENNX выдает сообщение при Подготовке мультисервисов - "Не удалось запустить мультимедиа сервисы ",
я так понял ESD.
Я стал копать логи сессии и увидел:
Код: Выделить всё
** (nautilus:3424): WARNING **: Unable to add monitor:
(nautilus:3424): GLib-GObject-CRITICAL **: g_object_unref: assertion `G_IS_OBJECT (object)' failed
ERROR: ld.so: object 'libesddsp.so.0' from LD_PRELOAD cannot be preloaded: ignored.
ERROR: ld.so: object 'libesd.so.0' from LD_PRELOAD cannot be preloaded: ignored.
ERROR: ld.so: object 'libesddsp.so.0' from LD_PRELOAD cannot be preloaded: ignored.
ERROR: ld.so: object 'libesd.so.0' from LD_PRELOAD cannot be preloaded: ignored.
ERROR: ld.so: object 'libesddsp.so.0' from LD_PRELOAD cannot be preloaded: ignored.
ERROR: ld.so: object 'libesd.so.0' from LD_PRELOAD cannot be preloaded: ignored.
ERROR: ld.so: object 'libesddsp.so.0' from LD_PRELOAD cannot be preloaded: ignored.
ERROR: ld.so: object 'libesd.so.0' from LD_PRELOAD cannot be preloaded: ignored.
gnome-session[3369]: WARNING: Application 'libcanberra-login-sound.desktop' failed to register before timeout
ERROR: ld.so: object 'libesddsp.so.0' from LD_PRELOAD cannot be preloaded: ignored.
ERROR: ld.so: object 'libesd.so.0' from LD_PRELOAD cannot be preloaded: ignored.
I: caps.c: Limited capabilities successfully to CAP_SYS_NICE.
I: caps.c: Dropping root privileges.
I: caps.c: Limited capabilities successfully to CAP_SYS_NICE.
Я так понял что это и имеют ввиду клиенты NX или OPENNX что не могут запустить мультимедиа сервисы.
На Slackware Linux OPENNX и Логи не проверял так как там ESD работал, нужно будет попробовать.
В Slackware Linux нет Pulseaudio.
Еще пробовал в node.conf прописать как писали иностранцы.
Код: Выделить всё
# FreeNX with ENABLE_ESD_PRELOAD="1" will automatically try to setup
# the sound with the help of the esd media helper.
#
# Currently ESD will be used just by the Windows NX Client.
#
# Be sure that $ESD_BIN_PRELOAD is in your path, does exist and work
# before enabling this directive.
ENABLE_ESD_PRELOAD="1"
ESD_BIN_PRELOAD="esddsp"
потом анлог Pulseaudio как я понял
Код: Выделить всё
ENABLE_ESD_PRELOAD="1"
ESD_BIN_PRELOAD="padsp"
и все тежи ошибки в логах, сессии.
В Slackware Linux этот параметр у меня работал так:
если я его прописывал тогда программа которая неподдержывала ESD запускались автоматом.
Если Не прописывал параметр тогда через коммандною строку - esd программа.
Вообщем если подытожить то у меня из под Slackware Linux у меня болеее менее получилось со звуком
(музыка играла и видео тоже, правда вот не каждая программа хорошо играет через ESD ).
И я доволен этим результатом. А вот из под Fedora 10 нет. Может из-за Pulseaudio ?
Но я пытался удалить Pulseaudio и компилировал ALSA. Но не появляется у меня ESD в устройствах.
А через Pulseaudio я думал что многие программы будут работать.
Так вот незнаю, пока мысли и интерес немного иссяк. Буду ждать, может что то поменяется. Идея сама хорошая.
-
- Сообщения: 15
- ОС: Ubuntu 12.04 LTS; Win 7
Re: Звук в NX-сессии
Всем привет! Вот я тоже столкнулся с этой проблемой. Правда у меня звука вообще нет! Что можно сделать? В файлике node.conf я редактировал строки связанные с авторизацией.
-
- Сообщения: 4
Re: Звук в NX-сессии
achilles85 писал(а): ↑01.02.2012 10:16Всем привет! Вот я тоже столкнулся с этой проблемой. Правда у меня звука вообще нет! Что можно сделать? В файлике node.conf я редактировал строки связанные с авторизацией.
node.conf - это не главное.
Звук будет и без node.conf работать.
Главное ESD. От него все зависит. (Как говорили.)
"Что можно сделать?"
Есле хочешь поэкспорементировать, на Slackware Linux попробуй.
Там Pulseaudio нет. Просто ставиш NX и пакет ESD. Все.
Выставляешь в программах что б воспроизводили звук через ESD.
А так, как мне сказали NX4 ждать нужно.
-
- Сообщения: 15
- ОС: Ubuntu 12.04 LTS; Win 7
Re: Звук в NX-сессии
А можно ли в 10.04 удалить pulseaudio, затем поставить ESD? Работать будет?
-
- Сообщения: 4
Re: Звук в NX-сессии
achilles85 писал(а): ↑09.02.2012 09:37А можно ли в 10.04 удалить pulseaudio, затем поставить ESD? Работать будет?
Я пробывал, не получилось.
Может быть у тебя получится.
Хоть как нибудь, или с pulseaudio или без, наверно уже неважно.
Но, если у тебя получится, тогда расскажешь.
И кстати, так хочется все свойства NX4.
Вообщем, есле ты что нибудь узнаешь, новое про звук, или бессплатный (мечта) NX4 , то расскажешь

Удачи achilles85 !
-
- Сообщения: 142
- ОС: Mandriva
Re: Звук в NX-сессии
Клиент на винде, сервер Дебиан 6 х32, со звуком никаких проблем, включая ФФ
-
- Сообщения: 15
- ОС: Ubuntu 12.04 LTS; Win 7
Re: Звук в NX-сессии
Есть мануал как настроить FreeNX на Debian?
-
- Сообщения: 142
- ОС: Mandriva
-
- Сообщения: 15
- ОС: Ubuntu 12.04 LTS; Win 7
Re: Звук в NX-сессии
Поставил RX@Etersoft на debian 6. Звука нет, на самом сервере звук есть. Подскажите что нужно сделать?
-
- Ведущий рубрики
- Сообщения: 1570
- Статус: Подвинутый участник
Re: Звук в NX-сессии
В общем, допрыгался он - звук в nx - заказали его. Значит буду исполнять. Скидывайтесь на венки. Все будет GPL, как обычно.
Новости пока такие:
И да, цель поста - все ли я учел в формировании ТЗ? Может еще какие пожелания будут? Чтобы два раза не вставать.
Всех с наступившим. Пусть и к вам придет Дед Мороз!
Новости пока такие:
- нативный pulseaudio работоспособен при linux-linux. С дуплексом, т.е. скайп под nx-сессией пашет - с тестовой теткой поговорил, была без ума от моего гундявого фальцета. Т.е. esd - надо в топку.
- win-клиент не приоритетен, но тоже будет точиться - второй очередью.
- планируется два варианта. Один будет завязан на механизм отключения шифрования ($EXTERNAL_PROXY_IP во freenx), второй - инкапсуляция в ssh-соединение (проброс порта на серверный локалхост). Второй вариант ближайшие дни буду пристально разглядывать на тему ограничений в битрейте. (Если кто быстро подскажет, как зажать канал сетевухи в ксеновской виртуалке, буду очень благодарен.Upd: уже просветил хороший человек)
- по клиентам: сначала и основной - opennx, т.к. его можно курочить. nxclient получится использовать в первом варианте с помощью хитрой обвязки. Хотя есть хулиганская идейка и насчет второго.
- freenx точно будет патчиться, nxssh.exe (win) - очень возможно останется целым. Остальная требуха не при делах.
- теоретически можно присобачить клиентскую камеру. У кого-то еще не безлимитка?
И да, цель поста - все ли я учел в формировании ТЗ? Может еще какие пожелания будут? Чтобы два раза не вставать.
Всех с наступившим. Пусть и к вам придет Дед Мороз!
-
- Сообщения: 373
- Статус: изучающий
- ОС: CentOS, FreeBSD
-
- Модератор
- Сообщения: 21180
- Статус: nulla salus bello
- ОС: Debian GNU/Linux
Re: Звук в NX-сессии
Там всё круто, но он работает только для виртуалок. Соответственно либо надо на терминальном сервере создавать перюзерные виртуалки, что сожрёт массу ресурсов, либо настраивать в виртуалке мультисит, что, вполне вероятно, обеспечит гораздо больший геморрой, чем доводка NX.
RedHat, судя по всему, собирается делать упор на решение с перюзерными виртуалками. Флаг им в руки...
Пишите правильно:
в консоли вку́пе (с чем-либо) в общем вообще | в течение (часа) новичок нюанс по умолчанию | приемлемо проблема пробовать трафик |
-
- Ведущий рубрики
- Сообщения: 1570
- Статус: Подвинутый участник
Re: Звук в NX-сессии
В данный момент верчу оный скайп по прикидкам ширины канала. Очень удивительные вещи получаются.
Итак стенд: dom0 под гентой, там железки и сервер pulseaudio 2.1 (pa). В domU под той-же гентой freenx, xfce4 и скайп 2.2 в качестве клиента pa. Звук для начала пущен мимо nx непосредственно на порт в dom0. Остальной сетевой трафик из гостя идет по тому же интерфейсу.
Первое, что установлено - при любой звуковой активности для звука без задержек требуется ширина около 600 килобит (тут и далее - в секунду). ~350+250 туда+обратно в зависмости от говорим/слушаем. Смотрелось посредством trafshow в dom0, average по порту pulseaudio.
Зажимаю интерфейс в dom0. Мерялки в браузере из domU подтверждают цифры минус трафик nx-сессии (~5%). Далее в скайпе на тестовом звонке. Вплоть до трех мегабит все работает. 2.5 - начинаются мелкие разрывы, но некритичные. 2 мегабита - приехали. Заикание, и тестовая девушка принимает эстонское гражданство. Иногда зависает скайп, приходится убивать. В trafshow видно, что ширина pa ужимается до ~400 килобит, но трафика самого скайпа наружу не видно. Вернее видно, но не такой уж большой - max 100 килобит на пиках. Это может и объяснимо - udp + 24000 rate + сжатие - должно скромно выходить. Пока не пойму, то-ли trafshow с цифрами лажает, то-ли скайповский трафик не весь сечет. Около полутора мегабит остаются не ловленными. Но они есть, кто-то же пододвигает pa. Точно его, тк. заикание tcp-шное - без провалов, но с задержками.
Пробовал ужимать rate в pa (там 48000 на "железных" синках и соурсах) - добился только большего безусловного торможения при любых скоростях, причем процессор не напрягается, хотя должен при пересчете. Или скайп обязан настроиться под даденые звуковым сервером параметры - те же 24000? ХЗ с этой проприетарью.
Хочется любых идей, изложения вашего собственного опыта, советов о не знаемых мною инструментах. А то давайте меня поймаем и руки поровняем. Тоже вариант.
Ведь в локалке оно работать будет, никуда не денется. В ssh же всю эту хрень завернуть, может получиться конфетка из сами знаете чего.
В качестве совсем идиотской идеи, может можно проложить между pa сервером и клиентом технологию открытого voip? Если что знайте - в детстве на ухо наступил кто-то, да еще под окном постоянно петарды взрывают. Так flac или opus?
Итак стенд: dom0 под гентой, там железки и сервер pulseaudio 2.1 (pa). В domU под той-же гентой freenx, xfce4 и скайп 2.2 в качестве клиента pa. Звук для начала пущен мимо nx непосредственно на порт в dom0. Остальной сетевой трафик из гостя идет по тому же интерфейсу.
Первое, что установлено - при любой звуковой активности для звука без задержек требуется ширина около 600 килобит (тут и далее - в секунду). ~350+250 туда+обратно в зависмости от говорим/слушаем. Смотрелось посредством trafshow в dom0, average по порту pulseaudio.
Зажимаю интерфейс в dom0. Мерялки в браузере из domU подтверждают цифры минус трафик nx-сессии (~5%). Далее в скайпе на тестовом звонке. Вплоть до трех мегабит все работает. 2.5 - начинаются мелкие разрывы, но некритичные. 2 мегабита - приехали. Заикание, и тестовая девушка принимает эстонское гражданство. Иногда зависает скайп, приходится убивать. В trafshow видно, что ширина pa ужимается до ~400 килобит, но трафика самого скайпа наружу не видно. Вернее видно, но не такой уж большой - max 100 килобит на пиках. Это может и объяснимо - udp + 24000 rate + сжатие - должно скромно выходить. Пока не пойму, то-ли trafshow с цифрами лажает, то-ли скайповский трафик не весь сечет. Около полутора мегабит остаются не ловленными. Но они есть, кто-то же пододвигает pa. Точно его, тк. заикание tcp-шное - без провалов, но с задержками.
Пробовал ужимать rate в pa (там 48000 на "железных" синках и соурсах) - добился только большего безусловного торможения при любых скоростях, причем процессор не напрягается, хотя должен при пересчете. Или скайп обязан настроиться под даденые звуковым сервером параметры - те же 24000? ХЗ с этой проприетарью.
Хочется любых идей, изложения вашего собственного опыта, советов о не знаемых мною инструментах. А то давайте меня поймаем и руки поровняем. Тоже вариант.
Ведь в локалке оно работать будет, никуда не денется. В ssh же всю эту хрень завернуть, может получиться конфетка из сами знаете чего.
В качестве совсем идиотской идеи, может можно проложить между pa сервером и клиентом технологию открытого voip? Если что знайте - в детстве на ухо наступил кто-то, да еще под окном постоянно петарды взрывают. Так flac или opus?
-
- Модератор
- Сообщения: 21180
- Статус: nulla salus bello
- ОС: Debian GNU/Linux
Re: Звук в NX-сессии
Вот тут предлагается способ сжатия звука от PA через VLC: http://www.freedesktop.org/wiki/Software/P...ser/Network/RTP. Костыли, но иначе, видимо, никак.
Конечно, mp3, как по ссылке - не лучший вариант. Тут предлагают пользовать CELT: http://article.gmane.org/gmane.comp.audio....o.general/9639/. Можно, наверное, и в сторону Opus посмотреть, тем более что скайп вроде бы на него переводят.
FLAC всяко не поможет: слишком слабо сжимает, и задержка большая будет.
Конечно, mp3, как по ссылке - не лучший вариант. Тут предлагают пользовать CELT: http://article.gmane.org/gmane.comp.audio....o.general/9639/. Можно, наверное, и в сторону Opus посмотреть, тем более что скайп вроде бы на него переводят.
FLAC всяко не поможет: слишком слабо сжимает, и задержка большая будет.
Пишите правильно:
в консоли вку́пе (с чем-либо) в общем вообще | в течение (часа) новичок нюанс по умолчанию | приемлемо проблема пробовать трафик |
-
- Ведущий рубрики
- Сообщения: 1570
- Статус: Подвинутый участник
Re: Звук в NX-сессии
RTP неприменим. Он udp. Завернуть же его в ssh-ное tcp - тоже костыли плюс потери производительности. На выходе получается ужасающая инвалидная конструкция. Мультикаст излишен опять же, у нас то все интимно. А freedesktop-пульсо-вики, это да, ресурс хороший - уже третьи сутки перечитываю целиком раз за разом.
А действительно - покручу ка опус. Пока локально на пайпах pa, дабы поиметь представление. Пока даже не обращая внимание на latency. Если понравится, надо будет с tcp эти пайпы дружить. Всего лишь? Ну и конечно второй pulseaudio под nx-сессией поднимать зеркальный. Тогда получится схема: скайп - PCM терминальный pa - пайп - opus encode - ? - tcp-сокет - ? - opus decode - пайп - PCM локальный pa - локальный гудок. Ну и обратно от матюгальника - аналогично.
А действительно - покручу ка опус. Пока локально на пайпах pa, дабы поиметь представление. Пока даже не обращая внимание на latency. Если понравится, надо будет с tcp эти пайпы дружить. Всего лишь? Ну и конечно второй pulseaudio под nx-сессией поднимать зеркальный. Тогда получится схема: скайп - PCM терминальный pa - пайп - opus encode - ? - tcp-сокет - ? - opus decode - пайп - PCM локальный pa - локальный гудок. Ну и обратно от матюгальника - аналогично.
-
- Модератор
- Сообщения: 21180
- Статус: nulla salus bello
- ОС: Debian GNU/Linux
Re: Звук в NX-сессии
Действительно, об этом я не подумал. Но вообще vlc и через HTTP умеет стримить.
Пишите правильно:
в консоли вку́пе (с чем-либо) в общем вообще | в течение (часа) новичок нюанс по умолчанию | приемлемо проблема пробовать трафик |
-
- Ведущий рубрики
- Сообщения: 1570
- Статус: Подвинутый участник
Re: Звук в NX-сессии
Погонял локально mpg123 -w - Some.mp3 | opusenc ... | padsp opusdec ... Даже со звуко-несуразными шеловскими пайплайнами результаты впечатляющи - жмется на лету вплоть до 12 килобит. Дальше тоже жмется, только уже неразборчиво. Это если использовать штатный синк pa на вход, что, в общем, устроит. Далее попробую выкинуть микрофон в FIFO - должно получиться. Дело за транспортом. Пока что-то ничего не находится подходящего - все предпочитают udp гонять. Редиски. Хотя cначала можно на netcat это дело завести в тестовых целях.
-
- Сообщения: 311
- ОС: ubuntu
Re: Звук в NX-сессии
когда тестил x2go там звук работает по дефолуту без доп наcтроек, сервер был на ubunte , клиент Win7
-
- Ведущий рубрики
- Сообщения: 1570
- Статус: Подвинутый участник
Re: Звук в NX-сессии
Нативный PA-шный дуплексный звук linux-linux в локалке функционирует на ура. Даже удается заузить канал за счет PA-шного же ресемплирования. На удаленку по ssh не заворачивается, потому как есть такое слово - latency. В виндовом клиенте тоже отлично за исключением ресемплирования из-за тамошней не рилтаймности оного PA. Сейчас работа в процессе, потом будет все опубликовано-расписано. Сейчас же кому невтерпеж, пошарьте в моем гите. Продеретесь через рунглиш - все поймете как. Эх, не хотел до завершения публиковать - с другой задачей вынесло наверх 

-
- Сообщения: 311
- ОС: ubuntu
-
- Ведущий рубрики
- Сообщения: 1570
- Статус: Подвинутый участник
-
- Ведущий рубрики
- Сообщения: 1570
- Статус: Подвинутый участник
Re: Звук в NX-сессии
Дошли наконец руки до публикации окончательного решения по локальному звуку в NX - freenx.
Жирное локальное - это значит, что в nx-клиентский ssh оный звук не заворачивается, требует специально-настроенного pulseaudio сервера на клиентской машине и доступного с терминального сервера стандартного tcp-порта PA (4713). (Т.е. как обычно - в случае использования клиентских ресурсов сервер с клиентом меняются местами.) Функции freenx ограничены формированием для терминальной сессии окружения для корректной работы клиента PA. Выражены в соответствующем патче. Для заказчика было описано так, вроде для понимания доступно:
Замечание, что за зверь - ресемплирование: Поскольку PA звук жать не умеет и не планирует, предпринята попытка сузить потребный канал, сделав качество погадостнее - стандартные телефонные 8 КГц. Сужается.
Скрипт, с которым экспериментировал - настраивал PA на nx-клиенте, цепляю в пост.
Про win-клиентов - тудысь тоже ставится PA, службой. Инсталятор с егоным скриптом цепляю тоже.
Второе замечание: на всех клиентах имеет смысл поставить auth-ip-acl=<ts_ip_addr;...>. Чтобы вся локалка не слушала ваш микрофон.
Третье замечание: Галку про мультимедиа в клиенте не трогать!
Все публикуемое было тестировано моими силами и заказчика.
Про заказчика песня отдельная. Свои обязательства не выполнил, попросту говоря - кинул. Очень удивлен, т.к меня так откровенно до этого никто не кидал. Имею основания утверждать - линуксцентр походу мошенники. Питерцы, у вас там в городе высокой культуры создалась среда для, вижу. Ну да ладно. Наверное я рылом не вышел - герои там свои. Рекламу им что-ли сделать - люблю ж бесплатно работать.
Upd 16.03.13: Часть заплатили. Не мошенники - просто раздолбаи.
Upd 06.05.13: Расплата окончательная - 25.04.13. Чтобы собачке было не больно, хвостик рубили по частям. И как с такими начальниками капитализьм строить, а?
Виндовый инсталятор: PulseAudio-1.1-2.exe
Жирное локальное - это значит, что в nx-клиентский ssh оный звук не заворачивается, требует специально-настроенного pulseaudio сервера на клиентской машине и доступного с терминального сервера стандартного tcp-порта PA (4713). (Т.е. как обычно - в случае использования клиентских ресурсов сервер с клиентом меняются местами.) Функции freenx ограничены формированием для терминальной сессии окружения для корректной работы клиента PA. Выражены в соответствующем патче. Для заказчика было описано так, вроде для понимания доступно:
По реализации: Сделано в рамках первичной задачи "нужен скайп". Включается переменной ENABLE_DIRECT_NATIVE_PA_CHECK, требует EXPORT_USERIP (в принципе потом можно отвязать, но зачем). Существует абсолютно автономно от режима соединения freenx - есть USERIP, значит проверяет доступность стандартного порта PA (4713) у клиента. Валидный IP есть всегда кроме соединения из-за NAT вроде. Порт доступен - экспорт PULSE_SERVER. Далее проверяется наличие удаленных ресемплированных sink/source по предопределенным именам. При наличии экспортируются также PULSE_SINK, PULSE_SOURCE. При отсутствии - приложения, поддерживающие PA-звук, работают с дефолтными sink/source. Приложения alsasound, esound не поддерживаются.
Клиентская сторона:
Требуется открытый наружу стандартный порт PA. Можно сконигурировать клиента статически /etc/pulse/default.pa. Привожу пиджин из серверного конфига:
2) In client's puseaudio server must be loaded module
module-native-protocol-tcp auth-anonymous=1 listen=0.0.0.0 port=4713
To secure instead auth-anonymous it's possible to use auth-ip-acl=<ts_ip_addr;...>
3) To lower-quality resamplig load following modules at client side
module-null-sink sink_name=ts_receiver rate=8000 channels=1
module-loopback source=ts_receiver.monitor sink=<your_default_sink>
module-null-sink sink_name=ts_sender rate=8000 channels=1
module-loopback source=<your_default_source> sink=ts_sender
Rates and channels digits are not a dogma and may be set in balance between your
greed and inet-link opportunities
Или есть вариант конфигурить скриптом. Свой прилагаю. Как лучше?
Перспективы и варианты несжатого звука:
- При надобности alsasound придется поднимать сервер PA в терминале и пользовать module-tunnel. Канал распухнет - к бабке не ходи.
- Если модули RTP держат не только мультикаст, а еще точка-точка, имеет смысл проверить возможность их работы. Не исключая предыдущего пункта.
Замечание, что за зверь - ресемплирование: Поскольку PA звук жать не умеет и не планирует, предпринята попытка сузить потребный канал, сделав качество погадостнее - стандартные телефонные 8 КГц. Сужается.
Скрипт, с которым экспериментировал - настраивал PA на nx-клиенте, цепляю в пост.
Про win-клиентов - тудысь тоже ставится PA, службой. Инсталятор с егоным скриптом цепляю тоже.
Второе замечание: на всех клиентах имеет смысл поставить auth-ip-acl=<ts_ip_addr;...>. Чтобы вся локалка не слушала ваш микрофон.
Третье замечание: Галку про мультимедиа в клиенте не трогать!
Все публикуемое было тестировано моими силами и заказчика.
Про заказчика песня отдельная. Свои обязательства не выполнил, попросту говоря - кинул. Очень удивлен, т.к меня так откровенно до этого никто не кидал. Имею основания утверждать - линуксцентр походу мошенники. Питерцы, у вас там в городе высокой культуры создалась среда для, вижу. Ну да ладно. Наверное я рылом не вышел - герои там свои. Рекламу им что-ли сделать - люблю ж бесплатно работать.
Upd 16.03.13: Часть заплатили. Не мошенники - просто раздолбаи.
Upd 06.05.13: Расплата окончательная - 25.04.13. Чтобы собачке было не больно, хвостик рубили по частям. И как с такими начальниками капитализьм строить, а?
Виндовый инсталятор: PulseAudio-1.1-2.exe
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Спасибо сказали:
-
- Ведущий рубрики
- Сообщения: 1570
- Статус: Подвинутый участник
Re: Звук в NX-сессии
За 2 (два) года гадюка таки задавила жабу. Иначе говоря, рудиментарная совесть превозмогла мою же жадность.
В этой теме оставалась недоделанность штатного проброса звука, и она меня парила неприменительно к наличию спонсоров. Меж тем, звук во всяких x2go давно имеется и даже под виндой.
Представилась возможность допилить связку opennx+freenx. Сделана новая схема схема ресэмплирования для снижения аппетита в ширине канала. Поднимается pulseaudio на терминальном сервере и работает с клиентским через module-tunnel-* в обе стороны. Через ssh канал сессии, естественно, штатными средствами nx (media=1).
Установщик opennx под вин. и инструкцию брать тут(и далее по теме починенный). С линуксом тоже, надеюсь, как нибудь скоро срастется с помощью опытных людей. Откомпилировать собственноручно также никто никому не мешает.
Под вин убраны пляски с установкой PA отдельной службой. opennx запускает встроенный из под пользователя, или ищет уже запущенный ранее. Т.ч. теоретически может одновременно воспроизводить с нескольких сессий на разных серверах.
Под линуксом также само вся настройка делается автоматически - был бы PA.
Под вин, не мудрствуя с кросс-компиляцией PA, утащил бинарники из x2goclient-contrib. Ну хоть шерсти клок. Там он уже шестой - офигеть.
Ну и описание отловленной в процессе какашки. На русском, так вообще эксклюзивный материал:
Сначала попытался установить PA из прошлого поста, тот который службой, на виндовс 7. Не работает. Причина найдена на просторах. Ноутбучники так ничего и не заметили, а остальным при невоткнутом штырьке микрофона винда устройство отключает. Ситуевина актуальна для всех версий PA. Как следствие, правильным будет такой default.pa:
Оральник с матюгальником подключаются по очереди в секции, не вызывающей всеобщего краха.
Потом средствами opennx была организована их принудительная перегрузка при старте сессии. Потому, что если при запущенном PA выткнуть и воткнуть штырек колонок, скажем, все работать конечно перестанет. Для новых старых устройств нужны новые старые модули.
Еще долго ковырялся с крахом opennx при работе через libpulse под вин. Когда пытаемся отключиться от контекста, винда пришибает opennx со страшной руганью из-за каких-то не таких сишных параметров в недрах PA. При этом правильная со всех сторон сессия в четырех случаях из пяти упевает запуститься. А если не отключаемся от контекста, надеясь на отключение по таймауту, винда уже пришибает приложение из-за некорректного уничтожения объекта. Черт бы побрал эту плюсатую инженерию с неявным их уничтожением. На ванильном си можно было докопаться хоть до ассемблера с легкостью, а тут хоть плачь.
Это все была лирика. Падать вроде перестало, но у меня только одна тестовая машинка (в виртуалки звук пропихивать сильно геморройно). В общем, я не совсем уверен, что поборото.
В этой теме оставалась недоделанность штатного проброса звука, и она меня парила неприменительно к наличию спонсоров. Меж тем, звук во всяких x2go давно имеется и даже под виндой.
Представилась возможность допилить связку opennx+freenx. Сделана новая схема схема ресэмплирования для снижения аппетита в ширине канала. Поднимается pulseaudio на терминальном сервере и работает с клиентским через module-tunnel-* в обе стороны. Через ssh канал сессии, естественно, штатными средствами nx (media=1).
Установщик opennx под вин. и инструкцию брать тут(и далее по теме починенный). С линуксом тоже, надеюсь, как нибудь скоро срастется с помощью опытных людей. Откомпилировать собственноручно также никто никому не мешает.
Под вин убраны пляски с установкой PA отдельной службой. opennx запускает встроенный из под пользователя, или ищет уже запущенный ранее. Т.ч. теоретически может одновременно воспроизводить с нескольких сессий на разных серверах.
Под линуксом также само вся настройка делается автоматически - был бы PA.
Под вин, не мудрствуя с кросс-компиляцией PA, утащил бинарники из x2goclient-contrib. Ну хоть шерсти клок. Там он уже шестой - офигеть.
Ну и описание отловленной в процессе какашки. На русском, так вообще эксклюзивный материал:
Сначала попытался установить PA из прошлого поста, тот который службой, на виндовс 7. Не работает. Причина найдена на просторах. Ноутбучники так ничего и не заметили, а остальным при невоткнутом штырьке микрофона винда устройство отключает. Ситуевина актуальна для всех версий PA. Как следствие, правильным будет такой default.pa:
Код: Выделить всё
.fail
load-module module-switch-on-port-available
load-module module-native-protocol-tcp port=4713 listen=127.0.0.1 auth-anonymous=1
.nofail
load-module module-waveout sink_name=output record=0
load-module module-waveout source_name=input playback=0
Оральник с матюгальником подключаются по очереди в секции, не вызывающей всеобщего краха.
Потом средствами opennx была организована их принудительная перегрузка при старте сессии. Потому, что если при запущенном PA выткнуть и воткнуть штырек колонок, скажем, все работать конечно перестанет. Для новых старых устройств нужны новые старые модули.
Еще долго ковырялся с крахом opennx при работе через libpulse под вин. Когда пытаемся отключиться от контекста, винда пришибает opennx со страшной руганью из-за каких-то не таких сишных параметров в недрах PA. При этом правильная со всех сторон сессия в четырех случаях из пяти упевает запуститься. А если не отключаемся от контекста, надеясь на отключение по таймауту, винда уже пришибает приложение из-за некорректного уничтожения объекта. Черт бы побрал эту плюсатую инженерию с неявным их уничтожением. На ванильном си можно было докопаться хоть до ассемблера с легкостью, а тут хоть плачь.
Это все была лирика. Падать вроде перестало, но у меня только одна тестовая машинка (в виртуалки звук пропихивать сильно геморройно). В общем, я не совсем уверен, что поборото.