Интернет вещание¶
- Table of contents
- Интернет вещание
Интернет-вещание – это передача аудио-сигнала с эфирной станции интернет-слушателям в виде кодированного потока. Собственно, данная задача разбивается на две: формирование специального потока для вещания и вещание потока (его доставка) в сети Интернет до конечного слушателя. Для формирования потока используется модуль интернет-вещания, встраиваемый в Джинн (в случае автоматического вещания), либо специальный сервис, который снимает сигнал со входа звуковой платы (куда заведен выход пульта - в случае вещания с живыми эфирами).
Другой вариант использования модуля интернет-вещания - передача аудио-сигнала из центра в регионы с использованием общедоступных Интернет-каналов. Интернет-вещание предназначено для построения радиовещательной региональной сети прямого вещания без использования дорогостоящего подъема сигнала на спутник.
ASIO - интернет устройство¶
Для организации Интернет-вещания реализована возможность брать звуковой поток из расписания с использованием программного протокола ASIO и отправлять его на Icecast сервер по сети.
ASIO (Audio Stream Input/Output) - протокол передачи данных с малой задержкой разработанный компанией Steinberg. Протокол используется в программно-аппаратном интерфейсе драйвера звуковой карты, обеспечивающий при передаче аудиопотока низкие уровни задержки и высокую точность.
Настройка Интернет вещания c использованием ASIO устройства¶
Для настройки устройства Интернет вещания, в программе Джинн (Digispot II) выберите в главном меню пункт Сервис-Аппаратное обеспечение->ASIO. В появившемся диалоговом окне выводится список всех ASIO устройств зарегистрированных в операционной системе.
Для создания устройства Интернет вещания нужно нажать на кнопку – _Интернет вещание_.
Для создания нового устройства Интернет вещания нужно нажать на кнопку _Добавить_,
и в появившемся диалоговом окне задать имя Интернет устройства, а так же выбрать тип Интернет устройства. Тип интернет устройства определяет возможность передавать/принимать поток данных, как используя сторонний сервер (Icecast), так и с использованием прямого соединения между программами Джинн (Ptp). Если устройство с таким именем уже существует, откроется предупреждающее окно, иначе откроется окно для редактирования свойств созданного Интернет устройства.
Параметры созданного Интернет устройства всегда имеют значения по умолчанию.
На закладке - Настройки сервера, в зависимости от типа Интернет устройства, можно настроить следующие параметры:
1. Icecast
1.1 Icecast передатчик:
• тип устройства – Передатчик;
• адрес – IP адрес Icecast сервера;
• порт – порт Icecast сервера;
• пользователь – имя пользователя указанное на Icecast сервере (необходимо для соединения с Icecast);
• пароль - пароль пользователя указанное на Icecast сервере (необходимо для соединения с Icecast);
• точка монтирования – окончательная часть ссылки, по которой клиенты будут подключаться к серверу для получения аудио данных, например, http://localhost:8000/radio_mount (/radio_mount);
• радиостанция – название радиостанции;
• жанр – жанр радиостанции;
• описание – описание радиостанции;
• обратный адрес – url адрес домашней страницы радиостанции;
• возможность публикации в YP (Yellow pages)
На закладке - Настройки звука можно настроить формат звука (битрэйт/частоту дискретизации) только для типа устройства - передатчик.
1.2 Icecast приемник:
• тип устройства – Приемник;
• адрес – IP адрес Icecast сервера;
• порт – порт Icecast сервера;
• точка монтирования – окончательная часть ссылки, по которой клиенты будут подключаться к серверу для получения аудио данных, например, http://localhost:8000/radio_mount (/radio_mount);
2 Ptp
В отличие от Icecast интернет устройства, параметры Ptp устройства не имеют значений по умолчанию, параметры нужно настраивать:
2.1 Ptp сервер
• тип устройства – сервер;
• адрес – IP адрес сервера;
• порт – порт сервера;
• пользователь/пароль – параметры аутентификации. Клиент при соединении с сервером присылает логин/пароль, которые должны соответствовать паре логин/пароль сервера;
Формат звука можно настроить только для типа устройства - сервер.
2.1 Ptp клиент
• тип устройства – клиент;
• адрес – IP адрес сервера;
• порт – порт сервера;
• пользователь/пароль – параметры аутентификации. Клиент при соединении с сервером присылает логин/пароль, которые должны соответствовать паре логин/пароль сервера;
После создания Интернет устройство, его имя появится в списке устройств Интернет вещания. Любое устройство из списка можно переименовать, изменять параметры и удалить.
После нажатия на кнопку Применить все созданные Интернет устройства появятся в списке ASIO устройств.
Все, передающие поток на Icecast сервер, ASIO Интернет устройства имеют префикс _INET TM_.
Все, принимающие поток с Icecast сервера, ASIO Интернет устройства имеют префикс _INET RC_.
Все ASIO Интернет устройства, которые являются серверами имеют префикс _INET SRVR_.
Все ASIO Интернет устройства, которые принимают поток с Джинн сервера имеют префикс _INET CLNT_.
Использование устройства Интернет вещания¶
Для использования Интернет устройства его необходимо загрузить. Нужно выбрать требуемое Интернет устройство из списка ASIO устройств и нажать на кнопку _Загрузить_.
Для просмотра свойств ASIO устройства (см. рисунок) нужно нажать на кнопку *Свойства*. Кнопка – Свойства активируется после загрузки ASIO драйвера.
Кнопка Control panel открывает окно редактирования ASIO драйвера, в данном случае окно редактирования свойств ASIO Интернет устройства (описание см. выше).
Следующим действием нужно настроить свойства плеера таким образом, чтобы он играл на ASIO Интернет устройство. Для этого в свойствах плеера нужно указать устройство воспроизведения или ретрансляции (в зависимости от того передатчик это или приемник). По умолчанию используется текущее устройство.
Кликнуть 2 раза по устройству воспроизведения/ретрансляции (или по пункту контекстного меню - Изменить), и в появившемся диалоговом окне можно выбрать нужное устройство Интернет вещания.
После описанных действий, в зависимости от типа интернет устройства, звуковой поток будет приниматься/отправляться. Если ASIO интернет устройство включено и работает, то слева будет изображена подсветка зеленым цветом, иначе - красным.
Сервис для передачи сигнала на Icecast¶
Данный сервис используется, если необходимо организовать Интернет вещание таким образом, чтобы сигнал с устройства записи (физического входа) передавался на Icecast сервер.
Настройка Сервиса¶
Для установки сервиса, необходимо запустить исполняемый файл iaudio_service.exe из директории, в которую был скопирован сервис, в командной строке, с параметром install:
_ iaudio_service.exe –install _
Для удаления сервиса, необходимо запустить исполняемый файл iaudio_service.exe из директории, в которую был скопирован сервис, в командной строке, с параметром uninstall:
_ iaudio_service.exe –uninstall _
После регистрации сервис iaudio_service.exe появится в списке сервисов.
Для конфигурации сервиса, необходимо запустить исполняемый файл iaudio_service.exe из директории, в которую был установлен сервис. Исполняемый файл для конфигурации можно запустить как приложение, набрав в командной строке *iaudio_service.exe –app*, или как сервис – запуск без параметров (_iaudio_service.exe_).
Запуск сервиса как приложение:
, как сервис:
В любом из этих случаев, для конфигурации нажимаем на кнопку Config или _Configure_.
После запуска сервиса в системном трее появится иконка, связанная с ним. Для управления сервисом и просмотра статистики нужно вызвать контекстное меню, кликнув правой клавишей мышки по связанной с сервисом иконке.
Конфигурировать сервис из панели управляния можно только в случае полной остановки сервиса, иначе конфигурирование сервиса должно осуществляться через пункт меню Настройка контекстного меню.
Выбрав пункт контекстного меню – Stop сервис можно остановить. Запустить сервис можно только из консоли – Сервисы (Панель управления-Администрирование->Сервисы).
Выбрав пункт контекстного меню – Config откроется диалоговое окно для просмотра статистики и настройки устройства трансляции.
В левом углу окна расположен индикатор уровня входящего сигнала. Если индикатор не показывает уровень, значит на входе нет сигнала. Устройство, с которого сервис будет получать сигнал можно выбрать из списка доступных устройств. Настройка параметров устройства трансляции осуществляется в диалоговом окне, которое вызывается при нажатии на кнопку (описание параметров см. выше)
В центре диалогового окна выводится статистика:
• длительность подключения - длительность подключения с последнего момента соединения с Icecast;
• байт отправлено – количество байт отправленное Icecast;
• байт получено - количество байт полученное от Icecast.
Передача метаданных клиенту¶
Для того, чтобы метаданные (название композиции и имя исполнителя) в процессе проигрывания элемента передавалось клиенту, необходимо на панели управления, во вкладке Метаданные, настроить источник метаданных.
Для получения метаданных, нужно указать источник метаданных и выбрать типы элементов, которые будут обрабатываться.
Источник метаданных - идентификатор X-PLAYER, у которого будут запрашиваться метаданные. Идентификатор X-PLAYER-а можно посмотреть в *.vid файле.
Источник метаданных (дополнительный) - идентификатор X-PLAYER (используется для работы с системой горячего резерва).
Особенности настройки метаданных при использовании DJin Lite¶
Так как DJin Lite имеет фиксированную конфигурацию все необходимые настройки в код уже внесены. Пользователи DJin Lite должны указать в поле строку *Источник метаданных *строку 121.
Настройка DJin Lite для работы с внешним сервисом невозможна.
Особенности настройки метаданных при использовании сервиса¶
Настройка получения метаданных сервисом от X-PLAYER по шагам:
1. В корневом каталоге Джина в подкаталоге SYSTEM нужно выбрать используемый файл конфигурации (vid-файл). Открыть этот файл для редактирования и добавить строчку INIT_EVENT_SERVER djin.xml. Скрипт INIT_EVENT_SERVER инициализирует работу Джина с событиями приходящими от удаленного приложения, которым является сервис. В файле djin.xml описывается взаимодействие с сервисом. Данный файл так же должен находится в каталоге SYSTEM.
2. Создать и настроить конфигурационный файл djin.xml. Необходимо добавить в файл следующие тэги:
<code class="xml">
<EVENT_SERVER HOST="HOST1">
<CLIENTS>
<TCP ADDR="TCP" TYPE="SERVER" IP="127.0.0.1" PORT="8003" />
<JS ADDR="JS" FILE="msg.js" >
<EVENT_FILTER CMD="NOTIFY" DST="NOTIFY" SRC="OBJID_PLAY_X1" />
</JS>
<CLIENT ADDR="SYS_LOG" >
<EVENT_FILTER CMD="*" />
</CLIENT>
</CLIENTS>
</EVENT_SERVER>
*тэг EVENT_SERVER: *HOST - название запущенной копии Джина, которая будет принимать сообщения от сервиса (имеется ввиду сервис, который передает данные на Icecast);
тэг TCP:
- TYPE - клиент(SERVER);
- IP - ip адрес компьютера, где запущена копия приложения - Джина;
- PORT - порт на компьютере с адресом IP, через который будет осуществляться взаимодействие.
*тэг JS: *FILE - имя javascript файла, который необходим для обработки сообщение, приходящих от X-PLAYER.
*тэг EVENT_FILTER: *SRC - идентификатор X-PLAYER. Идентичный указанному в поле Источник метаданных панели управления.
3. Создать и настроить javascript файл msg.js. Данный файл так же должен находится в каталоге SYSTEM. В файл необходимо добавить в файл следующий код:
<code class="cpp">
function OnPostEvent(evt) {
var cmd = evt.GetCmd();
var src = evt.GetSrc();
var dst = evt.GetDst();
if (cmd != "NOTIFY" || dst != "NOTIFY" || src != "OBJID_PLAY_X1")
return;
var new_evt = evt.Clone();
new_evt.SetDst("/HOST2.SERVICE");
new_evt.PostEvent();
}
OBJID_PLAY_X1 - идентификатор X-PLAYER, речь о котором шла выше;
/HOST2.SERVICE - путь к обработчику событий на сервисе.
HOST2 - название запущенной копии сервиса (см. описание ниже).
4. В корневом каталоге аудио сервиса в подкаталоге SYSTEM нужно создать файл iaudio_service.xml и добавить туда следующий код:
<code class="xml">
<EVENT_SERVER HOST="HOST2">
<CLIENTS>
<TCP ADDR="TCP" TYPE="CLIENT" IP="127.0.0.1" PORT="8003" />
<CLIENT ADDR="SYS_LOG" >
<EVENT_FILTER CMD="*" />
</CLIENT>
</CLIENTS>
</EVENT_SERVER>
где HOST - название запущенной копии сервиса, которая будет взаимодействовать с Джином;
TYPE - клиент (CLIENT);
IP - ip адрес компьютера, где запущена копия приложения - Джина;
PORT - порт на компьютере с адресом IP, через который будет осуществляться взаимодействие с Джином.
5. В настройках сервиса (панель управления->метаданные) в поле Источник метаданных нужно указать путь к X-PLAYER. В нашем примере он будет выглядеть так: _/HOST1.OBJID_PLAY_X1_. Путь складывается из название хоста и идентификатора X-PLAYER.
6. Тестируем:
а. Запускаем Джин.
б. Запускаем сервис.
в. Подключаемся к Icecast с помощью Winamp.
г. Проигрываем с помощью X-PLAYER, например музыкальный элемент БД.
д. Видим в Winamp название песни и имя исполнителя.
Пример конфигурационных файлов лежит тут: пример
Краткое описание и способ настройки Icecast
h3. Что такое Icecast?
Icecast – это потоковый медиа сервер, который поддерживает Ogg, Vorbis и Mp3 аудио потоки. Icecast можно использовать для создания Интернет радиостанций.
Icecast является программным обеспечением с открытым исходным кодом и распространяется с GNU GPL лицензией.
Подробнее об Icecast тут http://www.icecast.org.
Настройка Icecast¶
Скачайте Icecast и установите. Откройте в директории с установленным Icecast-ом файл - icecast.xml. В этом файле содержаться различные настройки, подробнее можно прочитать в документации к Icecast (doc/ icecast2.chm).
Рассмотрим настройки, которые необходимы для установления соединения между ASIO Интернет устройством/Сервисом транслятором и Icecast.
Фактически для установления соединения с Icecast в конфигурационном файле нужно указать лишь хост, порт и пароль для соединения с источником данных; по умолчанию пароль принимает значение – hackme, хост принимает значение – localhost, а порт – 8000.
<code class="xml">
<authentication>
<source-password>hackme</source-password>
</authentication>
<hostname>localhost</hostname>
<listen-socket>
<port>8000</port>
</listen-socket>
Также для корректного отображения метаданных потребуется добавить запись (для каждой точки монтирования)
<code class="xml">
<mount>
<mount-name>/your_mount_name</mount-name>
<charset>UTF-8</charset>
</mount>
ASIO Интернет устройство и/или сервис – транслятор должны содержать перечисленные параметры с идентичными значениями.
Icecast, запущенный как оконное приложение, выглядит следующим образом:
Система администрирования Icecast¶
Icecast содержит систему администрирования с web - интерфейсом. Для доступа к системе администрирования нужно в браузере указать url адрес Icecast-а с учетом указанных настроек, например: http://localhost:8000. После ввода логина и пароля доступ к системе администрирования будет разрешен.
Логин и пароль для доступа к системе администрирования указан в конфигурационном файле Icecast, и принимает по умолчанию значения admin/hackme. Обязательно измените логин и пароль для предотвращения несанкционированного доступа.
admin
hackme
Краткое описание и способ настройки Shoutcast
h3. Что такое Shoutcast ?
Shoutcast – многоплатформенное бесплатное серверное ПО компании Nullsoft. Предназначено для организации потокового вещания цифрового аудио/видео сигнала в сеть в формате MP3, AAC, AACplus, NSV, как в локальную, так и интернет. Программное обеспечение распространяется бесплатно. Подробнее о Shoutcast тут http://www.shoutcast.com.
Настройка Shoutcast¶
Скачиваем последнюю версию Shoutcast, после чего - устанавливаем ее. Заходим в каталог с установленным Shoutcast, находим файл - sc_serv.ini. В этом файле хранятся настройки Shoutcast. Для соединения с Shutcast также как для Icecast нужно указать лишь хост, порт и пароль (SrcIP, DestIP, PortBase, Password).
ASIO Интернет устройство и/или сервис – транслятор должны содержать перечисленные параметры с идентичными значениями.
Shoutcast, запущенный как оконное приложение, выглядит следующим образом: