Project

General

Profile

Интернет вещание

Интернет-вещание – это передача аудио-сигнала с эфирной станции интернет-слушателям в виде кодированного потока. Собственно, данная задача разбивается на две: формирование специального потока для вещания и вещание потока (его доставка) в сети Интернет до конечного слушателя. Для формирования потока используется модуль интернет-вещания, встраиваемый в Джинн (в случае автоматического вещания), либо специальный сервис, который снимает сигнал со входа звуковой платы (куда заведен выход пульта - в случае вещания с живыми эфирами).

Другой вариант использования модуля интернет-вещания - передача аудио-сигнала из центра в регионы с использованием общедоступных Интернет-каналов. Интернет-вещание предназначено для построения радиовещательной региональной сети прямого вещания без использования дорогостоящего подъема сигнала на спутник.

ASIO - интернет устройство

Для организации Интернет-вещания реализована возможность брать звуковой поток из расписания с использованием программного протокола ASIO и отправлять его на Icecast сервер по сети.
ASIO (Audio Stream Input/Output) - протокол передачи данных с малой задержкой разработанный компанией Steinberg. Протокол используется в программно-аппаратном интерфейсе драйвера звуковой карты, обеспечивающий при передаче аудиопотока низкие уровни задержки и высокую точность.

Настройка Интернет вещания c использованием ASIO устройства

Для настройки устройства Интернет вещания, в программе Джинн (Digispot II) выберите в главном меню пункт Сервис-Аппаратное обеспечение->ASIO. В появившемся диалоговом окне выводится список всех ASIO устройств зарегистрированных в операционной системе.

AsioDrvList1.JPG

Для создания устройства Интернет вещания нужно нажать на кнопку – _Интернет вещание_.

IDevEditorEmpty.JPG

Для создания нового устройства Интернет вещания нужно нажать на кнопку _Добавить_,

CreateIDev.JPG

и в появившемся диалоговом окне задать имя Интернет устройства, а так же выбрать тип Интернет устройства. Тип интернет устройства определяет возможность передавать/принимать поток данных, как используя сторонний сервер (Icecast), так и с использованием прямого соединения между программами Джинн (Ptp). Если устройство с таким именем уже существует, откроется предупреждающее окно, иначе откроется окно для редактирования свойств созданного Интернет устройства.

ControlPanel.JPG

Параметры созданного Интернет устройства всегда имеют значения по умолчанию.
На закладке - Настройки сервера, в зависимости от типа Интернет устройства, можно настроить следующие параметры:

1. Icecast

1.1 Icecast передатчик:

• тип устройства – Передатчик;
• адрес – IP адрес Icecast сервера;
• порт – порт Icecast сервера;
• пользователь – имя пользователя указанное на Icecast сервере (необходимо для соединения с Icecast);
• пароль - пароль пользователя указанное на Icecast сервере (необходимо для соединения с Icecast);
• точка монтирования – окончательная часть ссылки, по которой клиенты будут подключаться к серверу для получения аудио данных, например, http://localhost:8000/radio_mount (/radio_mount);
• радиостанция – название радиостанции;
• жанр – жанр радиостанции;
• описание – описание радиостанции;
• обратный адрес – url адрес домашней страницы радиостанции;
• возможность публикации в YP (Yellow pages)

На закладке - Настройки звука можно настроить формат звука (битрэйт/частоту дискретизации) только для типа устройства - передатчик.

mp3_format.JPG

1.2 Icecast приемник:

• тип устройства – Приемник;
• адрес – IP адрес Icecast сервера;
• порт – порт Icecast сервера;
• точка монтирования – окончательная часть ссылки, по которой клиенты будут подключаться к серверу для получения аудио данных, например, http://localhost:8000/radio_mount (/radio_mount);

2 Ptp

В отличие от Icecast интернет устройства, параметры Ptp устройства не имеют значений по умолчанию, параметры нужно настраивать:

PtpControlPanel.JPG

2.1 Ptp сервер

• тип устройства – сервер;
• адрес – IP адрес сервера;
• порт – порт сервера;
• пользователь/пароль – параметры аутентификации. Клиент при соединении с сервером присылает логин/пароль, которые должны соответствовать паре логин/пароль сервера;

Формат звука можно настроить только для типа устройства - сервер.

2.1 Ptp клиент

• тип устройства – клиент;
• адрес – IP адрес сервера;
• порт – порт сервера;
• пользователь/пароль – параметры аутентификации. Клиент при соединении с сервером присылает логин/пароль, которые должны соответствовать паре логин/пароль сервера;

После создания Интернет устройство, его имя появится в списке устройств Интернет вещания. Любое устройство из списка можно переименовать, изменять параметры и удалить.

IDevList.JPG

После нажатия на кнопку Применить все созданные Интернет устройства появятся в списке ASIO устройств.

AsioDrvList2.JPG

Все, передающие поток на Icecast сервер, ASIO Интернет устройства имеют префикс _INET TM_.
Все, принимающие поток с Icecast сервера, ASIO Интернет устройства имеют префикс _INET RC_.

Все ASIO Интернет устройства, которые являются серверами имеют префикс _INET SRVR_.
Все ASIO Интернет устройства, которые принимают поток с Джинн сервера имеют префикс _INET CLNT_.

Использование устройства Интернет вещания

Для использования Интернет устройства его необходимо загрузить. Нужно выбрать требуемое Интернет устройство из списка ASIO устройств и нажать на кнопку _Загрузить_.
Для просмотра свойств ASIO устройства (см. рисунок) нужно нажать на кнопку *Свойства*. Кнопка – Свойства активируется после загрузки ASIO драйвера.

AsioProperties.JPG

Кнопка Control panel открывает окно редактирования ASIO драйвера, в данном случае окно редактирования свойств ASIO Интернет устройства (описание см. выше).

Следующим действием нужно настроить свойства плеера таким образом, чтобы он играл на ASIO Интернет устройство. Для этого в свойствах плеера нужно указать устройство воспроизведения или ретрансляции (в зависимости от того передатчик это или приемник). По умолчанию используется текущее устройство.

XPlayerConfig.JPG

Кликнуть 2 раза по устройству воспроизведения/ретрансляции (или по пункту контекстного меню - Изменить), и в появившемся диалоговом окне можно выбрать нужное устройство Интернет вещания.

воспроизведение:
XPlayerDevices.JPG

ретрансляция:
RetransmissionConfig.JPG

После описанных действий, в зависимости от типа интернет устройства, звуковой поток будет приниматься/отправляться. Если ASIO интернет устройство включено и работает, то слева будет изображена подсветка зеленым цветом, иначе - красным.

Сервис для передачи сигнала на Icecast

Данный сервис используется, если необходимо организовать Интернет вещание таким образом, чтобы сигнал с устройства записи (физического входа) передавался на Icecast сервер.

Настройка Сервиса

Для установки сервиса, необходимо запустить исполняемый файл iaudio_service.exe из директории, в которую был скопирован сервис, в командной строке, с параметром install:
_ iaudio_service.exe –install _
Для удаления сервиса, необходимо запустить исполняемый файл iaudio_service.exe из директории, в которую был скопирован сервис, в командной строке, с параметром uninstall:
_ iaudio_service.exe –uninstall _

После регистрации сервис iaudio_service.exe появится в списке сервисов.

ServicesList.JPG

Для конфигурации сервиса, необходимо запустить исполняемый файл iaudio_service.exe из директории, в которую был установлен сервис. Исполняемый файл для конфигурации можно запустить как приложение, набрав в командной строке *iaudio_service.exe –app*, или как сервис – запуск без параметров (_iaudio_service.exe_).

Запуск сервиса как приложение:

app.JPG

, как сервис:

service.JPG

В любом из этих случаев, для конфигурации нажимаем на кнопку Config или _Configure_.

После запуска сервиса в системном трее появится иконка, связанная с ним. Для управления сервисом и просмотра статистики нужно вызвать контекстное меню, кликнув правой клавишей мышки по связанной с сервисом иконке.

ContextMenu.JPG

Конфигурировать сервис из панели управляния можно только в случае полной остановки сервиса, иначе конфигурирование сервиса должно осуществляться через пункт меню Настройка контекстного меню.

Выбрав пункт контекстного меню – Stop сервис можно остановить. Запустить сервис можно только из консоли – Сервисы (Панель управления-Администрирование->Сервисы).
Выбрав пункт контекстного меню – Config откроется диалоговое окно для просмотра статистики и настройки устройства трансляции.

ServiceConfig.JPG

В левом углу окна расположен индикатор уровня входящего сигнала. Если индикатор не показывает уровень, значит на входе нет сигнала. Устройство, с которого сервис будет получать сигнал можно выбрать из списка доступных устройств. Настройка параметров устройства трансляции осуществляется в диалоговом окне, которое вызывается при нажатии на кнопку SettingsBtn.JPG (описание параметров см. выше)

В центре диалогового окна выводится статистика:

• длительность подключения - длительность подключения с последнего момента соединения с Icecast;
• байт отправлено – количество байт отправленное Icecast;
• байт получено - количество байт полученное от Icecast.

Передача метаданных клиенту

Для того, чтобы метаданные (название композиции и имя исполнителя) в процессе проигрывания элемента передавалось клиенту, необходимо на панели управления, во вкладке Метаданные, настроить источник метаданных.

metadata.JPG

Для получения метаданных, нужно указать источник метаданных и выбрать типы элементов, которые будут обрабатываться.

Источник метаданных - идентификатор 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, запущенный как оконное приложение, выглядит следующим образом:

wnd1.JPG

wnd2.JPG

Система администрирования 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, запущенный как оконное приложение, выглядит следующим образом:

wnd3.JPG

Add picture from clipboard (Maximum size: 742 MB)