Интернет-вещание¶
- Table of contents
- Интернет-вещание
Назначение¶
Модули Интернет-вещание (DSM-075) и Интернет-вещание: получение потока (DSM-159) предназначены для организации передачи и получения аудиосигнала интернет-слушателями в виде кодированного цифрового потока напрямую через интернет.
Если используется тип устройства передатчик, то Джинн может передавать поток с помощью Интернет-вещания на cast-сервер, с которого конечный пользователь принимает поток.
Если используется тип устройства приемник, то Джинн принимает поток с сast-сервера. Этот поток может быть проигран плеером на выбранном аудиоустройстве или может использоваться в качестве канала ретрансляции.
Джинн не может параллельно отдавать сигнал на выход звуковой карты и формировать поток на сast-сервер.
В случае необходимости подачи сигнала с выхода звуковой карты на cast-сервер следует использовать IAudioService, который предназначен для передачи сигнала со входа звуковой карты эфирной станции на медиасервер. В этом случае необходимо скоммутировать выход звуковой карты на вход.
Интерфейс¶
Окно Редактор устройств интернет-вещания¶
Устройства интернет-вещания создаются в окне Редактор устройств интернет-вещания, которое открывается нажатием кнопки Интернет-вещание (Сервис\Аппаратное обеспечение\Настройка ASIO)
Здесь расположен список устройств интернет-вещания.
Справа расположены кнопки:
Добавить — позволяет добавить новое устройство интернет-вещания. Открывает окно Добавить.
Переименовать - нажатие этой кнопки позволяет переименовать устройство, предварительно выделив нужную строку.
Параметры — позволяет посмотреть и отредактировать свойства устройства. Открывает окно Панель управления, имеющее разный вид в зависимости от типа устройства: CastServer или PtP.
Удалить — удаляет выделенное устройство.
При нажатии на кнопку ОК окно закрывается, сохраняя все изменения.
Перечень устройств интернет-вещания отображается в окне Настройка ASIO.
ASIO интернет-устройства, передающие поток на Icecast-сервер, имеют префикс INET TM.
ASIO интернет-устройства, принимающие поток с Icecast-сервера, имеют префикс INET RC.
Все ASIO интернет-устройства, которые являются серверами, имеют префикс INET SRVR.
Все ASIO интернет-устройства, которые принимают поток с Джинн-сервера, имеют префикс INET CLNT.
Окно Добавить¶
Для добавления нового устройства нажмите кнопку Добавить. В открывшемся окне укажите:
Название устройства — любое пользовательское наименование устройства.
Тип интернет-устройства — тип интернет-устройства в зависимости от того, каким образом оно будет передавать/принимать поток данных:
- CastServer — использование стороннего сервера Icecast или Shoutcast.
- Point-to-Point — передача потока по технологии Point-to-Point (прямого соединения между программами Джинн).
- HLS — использование технологии HTTP Live Streaming.
Окно Панель управления устройства CastServer¶
При выборе устройства CastServer открывается окно Панель управления.
В окне необходимо настроить параметры устройств интернет-вещания, использующие Icecast или Shoutcast-сервер.
Вкладка Общее¶
Тип устройства: передатчик или приемник.
Радиостанция: пользовательское наименование радиостанции.
Жанр: информация о жанре радиостанции.
Описание: дополнительная информация о радиостанции.
Обратный адрес: адрес домашней страницы радиостанции.
Вкладка Потоки¶
Вкладка позволяет настроить интернет-потоки, а также добавить новые или удалить ненужные.
Для добавления нового потока нажмите кнопку . В открывшемся окне введите название.
Для редактирования названия нажмите на кнопку или кликните два раза левой кнопкой мыши на строку, которую необходимо отредактировать.
Кнопка удаляет ненужные потоки.
Настройки потока отображают выбранную точку монтирования и позволяют настроить:
Сервер: Icecast или Shoutcast.
Адрес: IP-адрес Icecast или Shoutcast-сервера.
Порт: порт Icecast или Shoutcast-сервера.
Пользователь: имя пользователя, указанное на Icecast или Shoutcast сервере (необходимо для соединения с сервером);
Пароль: пароль пользователя, указанный на сервере (необходимо для соединения с сервером);
Здесь расположена кнопка Формат звука, которая открывает окно Формат аудиопотока.
Можно выбрать:
Кодирование: Mpeg1 layer 2, Mpeg1 layer 3 и различные профили формата ААС.
Частота дискретизации: выбирается частота дискретизации (кГц).
Количество каналов:
Mono — одноканальное кодирование.
Stereo — каждый канал кодируется отдельно, битрейт расходуется динамически.
Joint stereo — объединённое стерео. Из исходного стереосигнала выделяется средний для обоих каналов. Рекомендуется использовать при низких битрейтах (64-96 кбит/с).
Поток: выбирается битрейт потока данных (Кбит/с).
После выбора параметров необходимо нажать Ок.
Вкладка Метаданные¶
На вкладке Метаданные настраивается источник метаданных и указываются типы элементов, которые будут обрабатываться. Это необходимо для того, чтобы в процессе проигрывания элемента метаданные (название композиции и имя исполнителя) передавались клиенту.
Источник метаданных — это X-PLAYER, у которого будут запрашиваться метаданные. Указывается идентификатор X-PLAYER, объявленный в конфигурационном файле.
Источник метаданных (дополнительный) — дополнительный X-PLAYER.
N.B. Идентификатор X-PLAYER-а (например OBJID_PLAY_X1) нужно взять из конфигурационнго файла, который находится в папке Djin\SYSTEM и имеет расширение *.vid. Идентификатор в vid-файле может быть переопределен (например #define OBJID_PLAY_X1 5807), тогда в качестве идентификатора в метаданных нужно указать 5807.
Далее необходимо отметить типы элементов, которые будут обрабатываться. При выборе типа, справа от него появляются поля Artist и Title - на них назначены атрибуты Исполнитель и Название соответственно. Данные поля можно при необходимости поменять местами.
Однако, бывают случаи, когда станция хочет выдавать метаданные в другом формате. Тогда необходимо настроить их отправку в настройках X-плеера на желаемый атрибут. Для этого в окне Свойства Х-плеера на вкладке Метаданные нужно перейти на нужный Тип элемента и раскрыть его настройки.
Затем необходимо выбрать атрибут, который вы планируете выдавать с интернет-потоком (В примере созданы специальные атрибуты Мета-Исполнитель и Мета-Названия для наглядного представления работы данной функции). А в настройках Интернет-потока на вкладке Метаданные нужно выбрать отображение ArtistWeb и TitleWeb.
При такой связке, плеер будет отдавать метаданные от пользовательских атрибутов в интернет-поток. Далее представлен пример отдачи пользовательских атрибутов в качестве метаданных.
Так выглядит тестовое расписание - зеленым подсвечен элемент, проигрываемый в данный момент.
Метаданные, принимаемые Icecast сервером, представлены в поле Current Song.
Особенности настройки метаданных при использовании DJin Lite
Так как DJin Lite имеет фиксированную конфигурацию, все необходимые настройки в код уже внесены. Пользователи DJin Lite должны указать в поле Источник метаданных значение 121.
Примечание. Настройка DJin Lite для работы с внешним сервисом, который снимает сигнал со входа звуковой платы, невозможна.
Вкладка Управление¶
Для осуществления врезки блоков (рекламы, новостей и т.п.) до версии 2.17.0 использовались только dtmf-метки.
Начиная с версии 2.17.0 есть возможность передачи команд на начало/окончание региональной врезки в потоке метаданных, а не в аудиопотоке. Таким образом, команды не будут заметны слушателю.
Для подключения возможности передачи команд в потоке метаданных необходимо выбрать опцию Передавать команды управления.
Далее укажите Хост источника команд и Хост источника команд (дополнительный).
Хост источника команд - хост плеера, с которым будет происходить обмен по TCP/IP и будут запрашиваться команды.
Хост источника команд (дополнительный) - дополнительный хост приложения, например, резервной студии или установленной джингл-машины.
Подключены оба, работают или по очереди, или одновременно в зависимости от особенностей вещания.
После этого необходимо указать Destination.
Destination - это идентификатор, который указывается для фильтрации команд. Он должен совпадать с идентификатором, указанным в команде, привязанной к элементу или блоку.
Для создания команды в элементе или блоке необходимо открыть плеер с загруженными элементами.
Далее, нажав правую клавишу мыши на объекте, вызовите контекстное меню и выберите Свойства.
На вкладке Управление нажмите правую кнопку мыши и выберите Создать новую команду.
Необходимо выбрать тип команды - String, ввести команду в кавычках, например, "1234" и указать Destination, совпадающий с идентификатором, указанном в сервисе.
Выберите когда необходимо посылать команду: По старту или по стопу блока (элемента) и нажмите Ок.
При передаче команд в потоке метаданных команда отображается следующим образом: Artist (исполнитель) - Title (название)%1234.
Компонент приема интернет-потока выделяет команды из метаданных. Канал ретрансляции получает уведомления и использует полученную команду.
Окно Панель управления устройства Point-to-Point¶
В окне настраиваются параметры устройств интернет-вещания, использующие прямое соединение (Point-to-Point) между программами Джинн.
Окно содержит следующие поля:
Тип устройства: клиент или сервер.
Тип соединения: передатчик или приемник.
Адрес — IP-адрес сервера.
Порт — порт сервера.
Пользователь — идентификатор учётной записи пользователя.
Пароль — пароль пользователя. Клиент при соединении с сервером присылает логин и пароль, которые должны соответствовать паре логин и пароль сервера.
Если тип соединения передатчик, то расположенная ниже кнопка Формат звука активна. Данной кнопкой открывается окно Формат Mp3.
Окно Формат Mp3¶
Окно открывается нажатием кнопки Формат звука в окне Панель управления.
Частота дискретизации — та, что указана в Общих настройках.
Поток — указывается битрейт потока данных (Кбит/с).
Mono — одноканальное кодирование.
Stereo — каждый канал кодируется отдельно, битрейт расходуется динамически.
Joint stereo — объединённое стерео. Из исходного стереосигнала выделяется средний для обоих каналов. Рекомендуется использовать при низких битрейтах (64-96 кбит/с).
Dual channel — Каждый канал использует ровно половину битрейта и кодируется отдельно как моносигнал. Рекомендуется, когда левый и правый каналы несут абсолютно независимую информацию (например, в левом - звуковое сопровождение фильма, а в правом - речь переводчика).
Группа параметров Компрессия позволяет указать, какой формат кодирования звука использовать. Содержит следующие пункты:
Линейный — без сжатия.
Mpeg1 Layer 2 — скорость передачи 128-96 Кбит/с, коэффициент сжатия 1:6-8.
Mpeg1 Layer 3 — скорость передачи 64-56 Кбит/с, коэффициент сжатия 1:10-12.
Окно Панель управления HLS¶
При выборе типа устройства HLS на панели управления необходимо ввести адрес сервера, откуда будет приниматься сигнал и выбрать из выпадающего списка необходимый поток.
Нажмите кнопку ОК и устройство появится в списке установленных.
Особенности работы¶
Для использования устройства интернет-вещания его необходимо загрузить. Для этого выберите требуемое устройство из списка Установленные драйвера в окне Настройка ASIO и нажмите на кнопку Загрузить.
Для просмотра свойств ASIO-устройства нужно нажать на кнопку Свойства в окне Настройка ASIO.
Затем нужно настроить свойства плеера таким образом, чтобы он играл на данное ASIO-интернет-устройство. Для этого в свойствах плеера нужно указать устройство воспроизведения или ретрансляции (в зависимости от типа устройства интернет-вещания: передатчик или приемник). По умолчанию используется текущее устройство.
Интернет-поток с авторизацией на Icecast¶
1. Откройте приложение Icecast. Остановите сервер, если он запущен, нажав кнопку Stop Server. В пункте главного меню выберите Configuration\Edit Configuration. Откроется конфигурационный файл под названием icecast. Сюда необходимо добавить следующие тэги:
<mount>
<mount-name>/example</mount-name>
<authentication type="htpasswd">
<option name="filename" value="myauth"/>
<option name="allow_duplicate_users" value="1"/>
</authentication>
</mount>
Значения тэгов:
- mount-name — название точки монтирования, которое должно быть идентичным заданному на вкладке Настройки сервера в окне Панель управления устройства CastServer созданного устройства-приемника. В данном примере название точки монтирования — "/example".
- filename — название файла, в котором будет записываться информация о пользователях и паролях.
- allow_duplicate_users — параметр, отвечающий за количество соединений в данной точке монтирования от имени одного и того же пользователя. Значение "0" — одно соединение, "1" — несколько соединений.
Примечание. После установки сервера файл, в котором будет записываться информация о пользователях и паролях, скорее всего, будет отсутствовать и его надо создать в корневом каталоге Icecast-сервера.
2. Запустите Icecast-сервер.
3. С помощью браузера зайдите на Icecast-сервер и в разделе Администрирование добавьте нужных Вам пользователей.
4. Откройте окно Панель управления устройства CastServer и укажите:
- на вкладке Общее:
- на вкладке Потоки:
Нажмите кнопку Ок.
5. В окне Настройка ASIO выделите созданное интернет-устройство. Нажмите кнопку Загрузить, затем — Старт. Индикатор состояния устройства должен окраситься в зеленый цвет.
6. В свойствах плеера укажите созданное интернет-устройство.
Примечание. Если при использовании интернет-потока, в качестве основного канала ретрансляции, наблюдаются подрывы вещания и в логе присутствует запись "Retr chan buffer overflow", следует изменить значения буферизации при программной передаче данных в большую сторону. Следует увеличить значение в поле Макс. и Нормальная, что позволит приложению избежать подрывов, связанных с качеством интернета (значения подбираются индивидуально).