410chan

"We are going to hell. And I’m driving the Bus"

Вещание под GNU/Linux

Рассмотрим организацию вещания под Linux на примере программы IDJC (Internet DJ Console).
Программа распространяется под лицензией GPL, написана на языках Python, C, C++.
В зависимости от дистрибутива, команда для установки может отличаться. Для Debian-based-дистрибутивов потребуется выполнить
# apt-get update && apt-get install jack2 idjc qjackctl
Для Arch Linux и производных:
# pacman -Syu jack2 qjackctl
# yaourt -S idjc
Эти команды установят клиент вещания, звуковой сервер jack2 и клиент jackd — QJackCtl.

Прежде чем запускать idjc, запустите qjackctl и с его помощью запустите jack.
Примечание: настоятельно рекомендуется в окне параметров поставить чекбокс «Режим реального времени» — это снизит вероятность возникновения задержек (xrun) в работе звукового сервера

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


Итак, сервер запущен, и если счётчик под надписью «Запущен» на нуле — можно запускать IDJC.

После запуска мы видим главное окно программы: две деки с плейлистами и элементами управления, между ними общий для обиих дек ползунок громкости, панель управления потоком и кроссфейдингом, а также кнопки управления микрофоном и индикаторы сигнала для микрофонов и потока.


Интерфейс достаточно интуитивен, но некоторые моменты требуют пояснения.
Monitor mix — определяет, что слышит в наушниках диджей: Две пары кнопок с заголовком «Audio feed»: Настройки для сервера Радио 410 должны выглядеть следующим образом:


Для того, чтобы начать вещать, достаточно нажать в окне настроек кнопку со ссылкой http://410chan.ru:8000/radio.ogg. Рекомендуется также выставить чекбоксы «Start player» и «Start recorder» для автоматического включения первого трека указанной деки и канала записи соответственно. Поле «Metadata» лучше не трогать, если не знаете, что это такое.
Настройки микрофона выбираются индивидуально, но главное — фильтровать низкие частоты и не увлекаться предусилением и компрессией, слишком громкий голос крайне раздражает уши.
Послесловие

IDJC отличается хорошей документированностью, которая, правда, реализована не лучшим путём: почти каждый элемент интерфейса имеет подробный хинт о своём предназначении и поведении, написанный на понятном английском.
Но разумеется не стоит увлекаться экспериментами на маунте /radio.ogg, так как именно на него автоматически перенаправляются все слушатели с /mpd.ogg. Вместо этого лучше временно указать в настройках /test.ogg и вещать на него. А можно вообще обойтись без вещания, запуская только запись.
Маленький совет от Тордендаля: поглядывайте на счётчик XRUN'ов в qjackctl, если он за минуту прибавляет больше 15-20, есть повод задуматься, что мешает бесперебойной работе jack2. Иногда такое бывает из-за запущенного Skype, но иногда причина в банальной слабости ЭВМ.

Skype и IDJC

Для того, чтобы вести эфиры со Skype™, вам потребуется, собственно, Skype™ и IDJC.
Прежде чем начинать думать об организации такого вещания, настоятельно рекомендую удалить пакет pulseaudio, так как убийство его процесса далеко не всегда приносит желаемый результат. В большинстве случаев pulseaudio можно удалить, не обращая внимания на зависимости (пример в Arch Linux: sudo pacman -Rdd pulseaduio — эта команда удалит только pulseaudio, однако не тронет всё, что от него зависит).

Для начала, завершите все приложения, использующие звук в данный момент, в т.ч. IDJC и jack. Далее вам следует создать файл ~/.asoundrc_bak и поместить в него сей текст. Затем настройки qjackctl требуется привести к виду, показанному на скриншоте:


Разумеется, имя домашней директории следует заменить на правильное.
Теперь следует запустить jack с помощью qjackctl, затем idjc и Skype™.
Настройки Skype™ приводим к следующему виду:


Разумеется, после проведения эфира, следует вернуть настройки в изначальное значение, иначе Skype™ не сможет найти указанные аудиоустройства.
Для того, чтобы получить звук из Skype™ в канал диджея, нажмите кнопку с изображением красного телефона, предварительно отключив в IDJC микрофон и переключившись на мониторинг канала DJ. Под главным регулятором громкости появится ещё один — он регулирует громкость дек в миксе диджея. В момент, когда нажата кнопка с красным телефоном, голоса диджея и его собеседника не попадают в поток.
Для того, чтобы отправить аудио-поток из Skype™ в эфир, нажмите кнопку с изображением зелёного телефона. В этот момент также рекомендуется мониторить диджейский микс, чтобы не сбиваться из-за собственного голоса.
Примечание: отключив трансляцию разговора в Skype™, не забудьте отключить микрофон в IDJC!