Для публикации потока требуется настроить специальное программное обеспечение - энкодер, который поддерживает протокол SRT-publish.
Перед созданием Live-ресурса мы рекомендуем заранее ознакомиться и выбрать необходимый продукт. Ознакомиться с вариантами, а также получить подробные инструкции по настройке энкодеров можно здесь.
Первый поток создается автоматически. Добавляйте или удаляйте потоки по выбору.
Введите желаемое название потока или сформируйте его автоматически, нажав на "Кубики".
Выберите качество потока из выпадающего списка.
При способе публикации SRT-publish доступно создание не более 10 потоков. |
Нажмите на кнопку "СОЗДАТЬ РЕСУРС".
Ресурс создан! Вы перенаправлены на вкладку "Инструкция по настройке".
Для публикации выделяются два URL: основной и резервный. Резервный URL следует использовать только при наличии достаточной полосы пропускания.
При создании нескольких потоков каждому из них будет выделена своя ссылка публикации.
После получения ссылок для публикации и настройки энкодера мы рекомендуем проверить трансляцию на корректность работы. Для этого перейдите во вкладку "Плеер". При правильной настройке энкодера в плеере отобразится запущенная трансляция.
Выберите комфортный способ просмотра: просмотр созданных потоков по отдельности или все вместе.
Используйте фрейм "Код для встраивания" для размещения плеера на вашем ресурсе. |
Данная услуга предназначена для компаний, у которых нет возможности отдать нам поток со следующими характеристиками, необходимыми для интернет-вещания:
Если у Вас нет возможности предоставить поток с указанными параметрами, а также для сокращения затрат на оборудование и программное обеспечение - используйте услугу транскодирования.
Для подключения услуги транскодирования на странице создания или редактирования SRT-publish ресурса необходимо:
Если Вы заказываете услугу транскодирования, то для ресурса указывается ТОЛЬКО ОДИН входной поток. |
Описание логики работы:
Авторизация запросов пользователей выполняется исключительно в сети CDN, внешние ресурсы не используются. Решение о доступе к потоку принимается средствами нашей сети на основе критериев, обозначенных владельцем контента:
В момент обращения пользователя к защищённому потоку владельцу контента необходимо сформировать специальную ссылку.
Пример ссылки с локальной авторизацией:
http://example.a.trbcdn.net/md5(HucJ8tJFjy97yuox2OycOQ,1704067200)/path/to/stream/playlist.m3u8
Алгоритм генерации MD5-хэша (<md5_hash>
) для подписи ссылок:
<secret_word><path_to_stream><ip><expire_time>
. Элементы <ip>
и/или <expire_time>
не добавляются в строку для подписи, если в настройках локальной авторизации указано Не учитывать IP адрес
и/или Не ограничивать по времени
.base64_url
через base64_url(md5(<строка для подписи>))
.<md5 hash>
, выполняя следующие замены в base64_url
:=
заменяем на пустую строку ''
+
заменяем на -
/
заменяем на _
<md5 hash>
.
|
Пример генерации ссылки:
Есть следующие входные данные:
zah5Mey9Quu8Ea1k
1.2.3.4
http://example.a.trbcdn.net/path/to/stream/playlist.m3u8
1704067200
Формируем строку для подписи <secret_word><path_to_stream><ip><expire_time>
. Допустим, что мы учитываем и IP адрес, и время окончания действия ссылки.
Тогда строка для подписи выглядит так: zah5Mey9Quu8Ea1k/path/to/stream1.2.3.41704067200
Формируем подпись <md5 hash>
:
Пример на PHP:
$ php -r 'print str_replace("=", "",strtr(base64_encode(md5("zah5Mey9Quu8Ea1k/path/to/stream1.2.3.41704067200", TRUE)), "+/", "-_")) . "\n";'
HucJ8tJFjy97yuox2OycOQ
Пример на Python:
#!/usr/bin/python3 import base64 import hashlib secret_word = 'zah5Mey9Quu8Ea1k' path = '/path/to/stream' ip_address = '1.2.3.4' expiration_timestamp = 1704067200 def generate_local_signature(secret_word, path, ip_address=None, timestamp=None): string_to_sign = f'{secret_word}{path}' if ip_address is not None: string_to_sign = f'{string_to_sign}{ip_address}' if timestamp is not None: string_to_sign = f'{string_to_sign}{timestamp}' hashed_string = hashlib.md5(string_to_sign.encode()).digest() decoded_base64_string = base64.b64encode(hashed_string).decode() local_signature = decoded_base64_string.replace('+', '-').replace('/', '_').replace('=', '') return local_signature print(generate_local_signature(secret_word, path, ip_address, expiration_timestamp)) # HucJ8tJFjy97yuox2OycOQ
Итоговая ссылка:
http://example.a.trbcdn.net/md5(HucJ8tJFjy97yuox2OycOQ,1704067200)/path/to/stream/playlist.m3u8
Внешняя авторизации предназначена для возможности ограничения доступа к потоку с произвольной логикой, описанной в вашем скрипте авторизации.
Решение о доступе к потоку принимается на основе ответа вашего скрипта, ссылку на который Вы указываете в личном кабинете при создании/редактировании ресурса.
Если от скрипта авторизации пришел ответ со статусом 200, то доступ к потоку разрешен. В противном случае - доступ запрещен.
Авторизационному скрипту передаются следующие заголовки:
Host
: содержит имя домена, для которого предназначен запрос;X-Request-URI
: содержит URI запрашиваемого потока;X-Forwarded-For
: содержит реальный IP-адрес пользователя, который запрашивает поток;X-Remote-Addr
: содержит IP-адрес пользователя, который запрашивает поток, или прокси-сервера.По умолчанию предоставляется возможность просмотра трансляции по протоколу HLS. Активируйте эту функцию, если планируете использовать другие протоколы раздачи (RTMP, MPEG-DASH, MSS, Low Latency Streaming).
Перед включением опции с Вами свяжется менеджер.
Для изменения названия ресурса введите в поле новое название ресурса и нажмите кнопку "СОХРАНИТЬ".
Название ресурса генерируется автоматически на этапе создания. |
В этом разделе Вы можете установить ограничения раздачи контента в зависимости от страны и региона, IP адреса, referer или User-Agent