C некоторых пор наш сайт доступен также по HTTPS: https://noobtype.ru. Обновите закладки, если вам оно надо.
|
Архив:Вики Радиоанона/Настройка вещания под Linux™
Именно Linux™[1].
Нужные компоненты
Что нам нужно:
- JACK (аудиосервер)
- qjackctl (для управления JACK’ом)
- Internet DJ Console
- ALSA (есть практически везде)
- Skype (для приёма звонков)
JACK
Качаем из svn последнюю версию (необязательно оттуда, но нужен самый свежий JACK ветки 1.9.х, он стабилен):
svn co http://subversion.jackaudio.org/jack/trunk/jack
Собираем через autogen.sh, далее (важно!) ./configure -libdir=/usr/lib (иначе либы свалятся в диру /usr/local/lib, и джек не сможет их загрузить), потом make и make install, ну ты понел.
Аналогично можно поставить и из репозитория. Приём с svn был актуален некоторое количество колов времени назад, когда в репах был старый и глючный JACK. Теперь ситуация значительно улучшилась, и версия 1.9.6 в Debian sid, скажем, отлично подходит для наших целей. Старый джек можно задетектить по версии типа 0.118, так вот, он нам не нужен.
Далее качаем qjackctl с офсайта либо из ближайшей репы для своего дистрибутива. Им будем управлять аудиосервером и втыкать проводки :3
Задаём настройки для аудиосервера, чтобы он работал долго и надёжно. Вот скриншот того, как настроил я:
(у некоторых работает с такими настройками: без галочки «Режим реал. времени (realtime)» и периодов на буфер 2)
Настоятельно рекомендую для пущего кайфу сделать округлые возбуждающие проводки:
Теперь запускаем JACK кнопкой в qjackctl и проверяем работу idjc (тут ничего сложного). Уже можно вещать, но самый смак в подключении внешнего звука в свой микрофон или другой вход.
Далее надо завернуть альсу на JACK. Для этого понадобится alsa-jack плагин (обычно в поставке всей аудиосистемы, либо доустановите из репозитория пакет alsa-plugins и/или alsa-jack) и такой вот конфиг, который следует разместить в ~ и назвать .asoundrc :
pcm.!default { type plug slave { pcm «jack» } } pcm.jack { type jack playback_ports { 0 alsa_pcm: playback_1 1 alsa_pcm: playback_2 } capture_ports { 0 alsa_pcm: capture_1 1 alsa_pcm: capture_2 } } ctl.mixer0 { type hw card 0 }
Можете сделать скрипты по переименованию этого конфига в .asoundrc и, положим, в .asound.bak, чтобы отключать заворот на JACK, когда вы его не используете (иначе альса не будет работать просто). В общем-то, этого вполне достаточно для организации эфира со скайпом. Добавив умения включать вещание с DSP-входа (безумная галочка в настройках), можно подключить на этот вход модульный синтезатор типа milkytracker и вещать восьмибитку в первозданном звучании, благо, этот синтезатор умеет выводить прямо на JACK без извратов с альсой.
Вот как делается подключение других программ. Нажимаем в qjackctl кнопку Connect и видим входы и выходы JACK. Можно просто перетаскивая вход на выход (или наоборот) создавать соединения и направлять звук. Cкриншот подключения скайпа в микрофонный вход:
Обратите внимание на устройство alsa-jack.jackP.18787.38 — это скайп, выводящий звук через альса-плагин. Его нужно подключить на вход IDJC, который называется mic_lt и mic_rt для левого и правого канала соответственно. Делать это следует перед тем, как выводить позвонившего в эфир, то есть сначала можно с ним поговорить с отключенным в IDJC микрофоном, далее подключить его в этом окне с проводами и, включив в IDJC микрофон, общаться вместе. Это базовый скилл, далее вы можете подключать на dsp вход другую программу (правда, при этом нельзя говорить и включать музыку в самом IDJC, но, думаю, если переподключить кабели в соединениях, можно добиться чего угодно). Вещание с DSP включается в настройках IDJC, найдёте нужную галку.
Скрин с IDJC
ВНИМАНИЕ!
Если у вас skype отваливается от джека/виснет с бесконечным лупом после 5-10 секунд начала разговора, значит, прыщебляди соснули сраные проприетарщики и впрямь закосячили последнюю бету. Подобное поведение наблюдается на 2.1.0.81, но на предыдущей 2.1.0.47 всё прекрасно-замечательно и не глючит. Вывод? Откатываемся на прошлую бету.
Ссылки на скачивание собственно последней рабочей с jack’ом версии:
Да-да, они хранят все старые версии, просто не дают на них ссылки. На всякий случай все эти пакеты были забэкаплены, так что в случае неработоспособности ссылок — пишите в конфе, выложим локально.
Mumble
Толком не тестировалось, но всё же. Появился патч для Mumble, добавляющий поддержку JACK. Этого долго ждали, и оно свершилось! Сам патч для сорсов. Собранные бинарники:
Если JACK не запущен, в списке его не будет. Сервер обитает на radioanon . ru .
Шаманства для Ubuntu 8.10 от xcellent
Описываемые шаманства касаются версии Ubuntu 8.10, однако могут в теории работать на будущих или предыдущих версиях дистрибутива.
Основная полезная инфа находится по ссылке: http://ubuntuforums.org/showthread.php?t=577914. В Убунту ALSA собрана без JACK плагина, соответственно Скайп не сможет давать звук. Чтобы это пофиксить, нам нужен будет плагин JACK из дебиановского пакета, который по ссылке: http://packages.debian.org/lenny/i386/libasound2-plugins/download. Желательно, чтобы версия плагина и ALSA совпадала или была не выше версии ALSA (возможны конфликты).
Пакет — это обычный архив, открываем его менеджером архивов и находим три файла: libasound_module_pcm_jack.a, libasound_module_pcm_jack.la, libasound_module_pcm_jack.so. Файлы копипастим в /usr/lib/alsa-lib с правами администратора.
Алсо, не забываем о конфиге .asoundrc в хомяке, который в Убунту должен иметь вид:
pcm.idjcvoip { type plug slave { pcm "idjcjack" } } pcm.idjcjack { type jack playback_ports { 0 idjc-mx:voip_recv_lt 1 idjc-mx:voip_recv_rt } capture_ports { 0 idjc-mx:voip_send_lt 1 idjc-mx:voip_send_rt } }
Далее, когда плагин установлен и конфиг создан, перезагружаемся, потом в Skype в Настройки/Устройства выбираем idjcvoip во все поля. Проверяем на запущенном JACK и idjc есть ли звук в тестовом звонке. Если есть, значит Skype теперь можно смешивать в idjc в поток. Короче, работает.
Pulseaudio и Jack
Чтобы подружить pulseaudio c jack, достаточно поставить один пакет — pulseaudio-module-jack (в ubuntu sudo aptitude install pulseaudio-module-jack) и можно будет работать. Но нельзя будет подключить skype, так как он по умолчанию использует pulseaudio и jack не сможет его подхватить. Чтобы это исправить, придется сделать следующее:
- Установить pulseaudio-module-jack (в ubuntu sudo aptitude install pulseaudio-module-jack)
- Запретить автоматический перезапуск pulseaudio командой: echo autospawn = no > ~/.pulse/client.conf
- Запустить qjackctl, настроить его по скриншоту (убивать пульсу при запуске и перезапускать после)
- ???
- Можно вещать.