Архив:Вики Радиоанона/Настройка вещания под Linux™: различия между версиями

Материал из Noobtype — единственного источника Истины во Вселенной
Перейти к навигации Перейти к поиску
Содержимое удалено Содержимое добавлено
http://wiki.radioanon.ru/%D1%80%D0%B0%D0%B4%D0%B8%D0%BE/linux
 
мНет описания правки
 
Строка 1: Строка 1:
Именно Linux™<ref>Да, блять, это действительно зарегистрированная торговая марка, пруф.
Именно Linux™<ref>Да, блять, это действительно зарегистрированная торговая марка, [http://assignments.uspto.gov/assignments/q?db=tm&rno=1916230 пруф].
</ref>.
</ref>.


Строка 7: Строка 7:
Что нам нужно:
Что нам нужно:


JACK (аудиосервер)
* JACK (аудиосервер)
qjackctl (для управления JACK'ом)
* qjackctl (для управления JACK’ом)
Internet DJ Console
* Internet DJ Console
ALSA (есть практически везде)
* ALSA (есть практически везде)
Skype (для приёма звонков)
* Skype (для приёма звонков)




Строка 21: Строка 21:
svn co http://subversion.jackaudio.org/jack/trunk/jack
svn co http://subversion.jackaudio.org/jack/trunk/jack


Собираем через autogen.sh, далее (важно!) ./configure –libdir=/usr/lib (иначе либы свалятся в диру /usr/local/lib, и джек не сможет их загрузить), потом make и make install, ну ты понел.
Собираем через autogen.sh, далее (важно!) ./configure -libdir=/usr/lib (иначе либы свалятся в диру /usr/local/lib, и джек не сможет их загрузить), потом make и make install, ну ты понел.


Аналогично можно поставить и из репозитория. Приём с svn был актуален некоторое количество колов времени назад, когда в репах был старый и глючный JACK. Теперь ситуация значительно улучшилась, и версия 1.9.6 в Debian sid, скажем, отлично подходит для наших целей. Старый джек можно задетектить по версии типа 0.118, так вот, он нам не нужен.
Аналогично можно поставить и из репозитория. Приём с svn был актуален некоторое количество колов времени назад, когда в репах был старый и глючный JACK. Теперь ситуация значительно улучшилась, и версия 1.9.6 в Debian sid, скажем, отлично подходит для наших целей. Старый джек можно задетектить по версии типа 0.118, так вот, он нам не нужен.
Строка 37: Строка 37:
Далее надо завернуть альсу на JACK. Для этого понадобится alsa-jack плагин (обычно в поставке всей аудиосистемы, либо доустановите из репозитория пакет alsa-plugins и/или alsa-jack) и такой вот конфиг, который следует разместить в ~ и назвать .asoundrc :
Далее надо завернуть альсу на JACK. Для этого понадобится alsa-jack плагин (обычно в поставке всей аудиосистемы, либо доустановите из репозитория пакет alsa-plugins и/или alsa-jack) и такой вот конфиг, который следует разместить в ~ и назвать .asoundrc :


pcm.!default {
pcm.!default {
type plug
type plug
slave { pcm "jack" }
slave { pcm «jack» }
}
}
pcm.jack {
pcm.jack {
type jack
type jack
playback_ports {
playback_ports {
0 alsa_pcm:playback_1
0 alsa_pcm: playback_1
1 alsa_pcm:playback_2
1 alsa_pcm: playback_2
}
}
capture_ports {
capture_ports {
0 alsa_pcm:capture_1
0 alsa_pcm: capture_1
1 alsa_pcm:capture_2
1 alsa_pcm: capture_2
}
}
}
}
ctl.mixer0 {
ctl.mixer0 {
type hw
type hw
card 0
card 0
}
}


Можете сделать скрипты по переименованию этого конфига в .asoundrc и, положим, в .asound.bak, чтобы отключать заворот на JACK, когда вы его не используете (иначе альса не будет работать просто). В общем-то, этого вполне достаточно для организации эфира со скайпом. Добавив умения включать вещание с DSP-входа (безумная галочка в настройках), можно подключить на этот вход модульный синтезатор типа milkytracker и вещать восьмибитку в первозданном звучании, благо, этот синтезатор умеет выводить прямо на JACK без извратов с альсой.
Можете сделать скрипты по переименованию этого конфига в .asoundrc и, положим, в .asound.bak, чтобы отключать заворот на JACK, когда вы его не используете (иначе альса не будет работать просто). В общем-то, этого вполне достаточно для организации эфира со скайпом. Добавив умения включать вещание с DSP-входа (безумная галочка в настройках), можно подключить на этот вход модульный синтезатор типа milkytracker и вещать восьмибитку в первозданном звучании, благо, этот синтезатор умеет выводить прямо на JACK без извратов с альсой.
Строка 61: Строка 61:
Вот как делается подключение других программ. Нажимаем в qjackctl кнопку Connect и видим входы и выходы JACK. Можно просто перетаскивая вход на выход (или наоборот) создавать соединения и направлять звук. Cкриншот подключения скайпа в микрофонный вход:
Вот как делается подключение других программ. Нажимаем в qjackctl кнопку Connect и видим входы и выходы JACK. Можно просто перетаскивая вход на выход (или наоборот) создавать соединения и направлять звук. Cкриншот подключения скайпа в микрофонный вход:


Обратите внимание на устройство alsa-jack.jackP.18787.38 — это скайп, выводящий звук через альса-плагин. Его нужно подключить на вход IDJC, который называется mic_lt и mic_rt для левого и правого канала соответственно. Делать это следует перед тем, как выводить позвонившего в эфир, т.е. сначала можно с ним поговорить с отключенным в IDJC микрофоном, далее подключить его в этом окне с проводами и, включив в IDJC микрофон, общаться вместе. Это базовый скилл, далее вы можете подключать на dsp вход другую программу (правда, при этом нельзя говорить и включать музыку в самом IDJC, но, думаю, если переподключить кабели в соединениях, можно добиться чего угодно). Вещание с DSP включается в настройках IDJC, найдёте нужную галку.
Обратите внимание на устройство alsa-jack.jackP.18787.38 — это скайп, выводящий звук через альса-плагин. Его нужно подключить на вход IDJC, который называется mic_lt и mic_rt для левого и правого канала соответственно. Делать это следует перед тем, как выводить позвонившего в эфир, то есть сначала можно с ним поговорить с отключенным в IDJC микрофоном, далее подключить его в этом окне с проводами и, включив в IDJC микрофон, общаться вместе. Это базовый скилл, далее вы можете подключать на dsp вход другую программу (правда, при этом нельзя говорить и включать музыку в самом IDJC, но, думаю, если переподключить кабели в соединениях, можно добиться чего угодно). Вещание с DSP включается в настройках IDJC, найдёте нужную галку.


Скрин с IDJC
Скрин с IDJC
Строка 70: Строка 70:
Если у вас skype отваливается от джека/виснет с бесконечным лупом после 5-10 секунд начала разговора, значит, прыщебляди соснули сраные проприетарщики и впрямь закосячили последнюю бету. Подобное поведение наблюдается на 2.1.0.81, но на предыдущей 2.1.0.47 всё прекрасно-замечательно и не глючит. Вывод? Откатываемся на прошлую бету.
Если у вас skype отваливается от джека/виснет с бесконечным лупом после 5-10 секунд начала разговора, значит, прыщебляди соснули сраные проприетарщики и впрямь закосячили последнюю бету. Подобное поведение наблюдается на 2.1.0.81, но на предыдущей 2.1.0.47 всё прекрасно-замечательно и не глючит. Вывод? Откатываемся на прошлую бету.


Ссылки на скачивание собственно последней рабочей с jack'ом версии:
Ссылки на скачивание собственно последней рабочей с jack’ом версии:


* [http://download.skype.com/linux/skype-debian_2.1.0.47-1_i386.deb Debian]
Debian
* [http://download.skype.com/linux/skype-2.1.0.47-suse.i586.rpm SuSE]
SuSE
* [http://download.skype.com/linux/skype-2.1.0.47.tar.bz2 Dynamic]
Dynamic
* [http://download.skype.com/linux/skype_static-2.1.0.47.tar.bz2 Static]
Static
* [http://download.skype.com/linux/skype-ubuntu-intrepid_2.1.0.47-1_i386.deb Ubuntu 8 32bit]
Ubuntu 8 32bit
Ubuntu 8 amd 64bit
* [http://download.skype.com/linux/skype-ubuntu-intrepid_2.1.0.47-1_amd64.deb Ubuntu 8 amd 64bit]


Да-да, они хранят все старые версии, просто не дают на них ссылки. На всякий случай все эти пакеты были забэкаплены, так что в случае неработоспособности ссылок — пишите в конфе, выложим локально.
Да-да, они хранят все старые версии, просто не дают на них ссылки. На всякий случай все эти пакеты были забэкаплены, так что в случае неработоспособности ссылок — пишите в конфе, выложим локально.
⚫
Mumble


⚫
== Mumble ==
⚫
Толком не тестировалось, но всё же. Появился патч для Mumble, добавляющий поддержку JACK. Этого долго ждали, и оно свершилось! Сам патч для сорсов. Собранные бинарники:


Debian Stable x86
Debian Unstable x86
Debian Stable amd64
Debian Unstable amd64
Fedora 14 x86


⚫
Толком не тестировалось, но всё же. Появился патч для Mumble, добавляющий поддержку JACK. Этого долго ждали, и оно свершилось! Сам [http://sourceforge.net/tracker/index.php?func=detail&aid=3166072&group_id=147372&atid=768007 патч для сорсов]. Собранные бинарники:
⚫
Если JACK не запущен, в списке его не будет. Сервер обитает на radioanon . ru .

*[http://wiki.radioanon.ru/_media/%D1%80%D0%B0%D0%B4%D0%B8%D0%BE/mumble_1.2.2-6_i386.deb Debian Stable x86]
*[http://wiki.radioanon.ru/_media/%D1%80%D0%B0%D0%B4%D0%B8%D0%BE/mumble_1.2.3-1_i386.deb Debian Unstable x86]
*[http://wiki.radioanon.ru/_media/%D1%80%D0%B0%D0%B4%D0%B8%D0%BE/mumble_1.2.2-6_amd64.deb Debian Stable amd64]
*[http://wiki.radioanon.ru/_media/%D1%80%D0%B0%D0%B4%D0%B8%D0%BE/mumble_1.2.3-1_amd64.deb Debian Unstable amd64]
*[http://wiki.radioanon.ru/_media/%D1%80%D0%B0%D0%B4%D0%B8%D0%BE/mumble-1.2.2-8.fc14.i686.rpm Fedora 14 x86]

⚫
Если JACK не запущен, в списке его не будет. Сервер обитает на radioanon . ru .


== Шаманства для Ubuntu 8.10 от xcellent ==
== Шаманства для Ubuntu 8.10 от xcellent ==
Строка 98: Строка 100:
Основная полезная инфа находится по ссылке: http://ubuntuforums.org/showthread.php?t=577914. В Убунту ALSA собрана без JACK плагина, соответственно Скайп не сможет давать звук. Чтобы это пофиксить, нам нужен будет плагин JACK из дебиановского пакета, который по ссылке: http://packages.debian.org/lenny/i386/libasound2-plugins/download. Желательно, чтобы версия плагина и ALSA совпадала или была не выше версии ALSA (возможны конфликты).
Основная полезная инфа находится по ссылке: 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 с правами администратора.
Пакет — это обычный архив, открываем его менеджером архивов и находим три файла: libasound_module_pcm_jack.a, libasound_module_pcm_jack.la, libasound_module_pcm_jack.so. Файлы копипастим в /usr/lib/alsa-lib с правами администратора.


Алсо, не забываем о конфиге .asoundrc в хомяке, который в Убунту должен иметь вид:
Алсо, не забываем о конфиге .asoundrc в хомяке, который в Убунту должен иметь вид:


pcm.idjcvoip {
pcm.idjcvoip {
type plug
type plug
slave { pcm "idjcjack" }
slave { pcm "idjcjack" }
}
}
pcm.idjcjack {
pcm.idjcjack {
type jack
type jack
playback_ports {
playback_ports {
0 idjc-mx:voip_recv_lt
0 idjc-mx:voip_recv_lt
1 idjc-mx:voip_recv_rt
1 idjc-mx:voip_recv_rt
}
}
capture_ports {
capture_ports {
0 idjc-mx:voip_send_lt
0 idjc-mx:voip_send_lt
1 idjc-mx:voip_send_rt
1 idjc-mx:voip_send_rt
}
}
}
}


Далее, когда плагин установлен и конфиг создан, перезагружаемся, потом в Skype в Настройки/Устройства выбираем idjcvoip во все поля. Проверяем на запущенном JACK и idjc есть ли звук в тестовом звонке. Если есть, значит Skype теперь можно смешивать в idjc в поток. Короче, работает.
Далее, когда плагин установлен и конфиг создан, перезагружаемся, потом в Skype в Настройки/Устройства выбираем idjcvoip во все поля. Проверяем на запущенном JACK и idjc есть ли звук в тестовом звонке. Если есть, значит Skype теперь можно смешивать в idjc в поток. Короче, работает.
Строка 123: Строка 125:




Чтобы подружить pulseaudio c jack, достаточно поставить один пакет - pulseaudio-module-jack (в ubuntu sudo aptitude install pulseaudio-module-jack) и можно будет работать. Но нельзя будет подключить skype, так как он по умолчанию использует pulseaudio и jack не сможет его подхватить. Чтобы это исправить, придется сделать следующее:
Чтобы подружить pulseaudio c jack, достаточно поставить один пакет — pulseaudio-module-jack (в ubuntu sudo aptitude install pulseaudio-module-jack) и можно будет работать. Но нельзя будет подключить skype, так как он по умолчанию использует pulseaudio и jack не сможет его подхватить. Чтобы это исправить, придется сделать следующее:


1. Установить pulseaudio-module-jack (в ubuntu sudo aptitude install pulseaudio-module-jack)
# Установить pulseaudio-module-jack (в ubuntu sudo aptitude install pulseaudio-module-jack)
2. Запретить автоматический перезапуск pulseaudio командой: echo autospawn = no > ~/.pulse/client.conf
# Запретить автоматический перезапуск pulseaudio командой: echo autospawn = no > ~/.pulse/client.conf
3. Запустить qjackctl, настроить его по скриншоту (убивать пульсу при запуске и перезапускать после)
# Запустить qjackctl, настроить его по скриншоту (убивать пульсу при запуске и перезапускать после)
# ???
⚫
# Можно вещать.


== Примечания ==
4. ???
{{примечания}}
⚫
5. Можно вещать.

Текущая версия от 22:16, 3 января 2012

Именно 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 не сможет его подхватить. Чтобы это исправить, придется сделать следующее:

  1. Установить pulseaudio-module-jack (в ubuntu sudo aptitude install pulseaudio-module-jack)
  2. Запретить автоматический перезапуск pulseaudio командой: echo autospawn = no > ~/.pulse/client.conf
  3. Запустить qjackctl, настроить его по скриншоту (убивать пульсу при запуске и перезапускать после)
  4. ???
  5. Можно вещать.

Примечания

  1. ↑ Да, блять, это действительно зарегистрированная торговая марка, пруф.