Дерево страниц
Перейти к концу метаданных
Переход к началу метаданных

Вы просматриваете старую версию данной страницы. Смотрите текущую версию.

Сравнить с текущим просмотр истории страницы

« Предыдущий Версия 7 Текущий »

Описание

Для публикации потока требуется настроить специальное программное обеспечение - энкодер, который поддерживает протокол SRT-publish.

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

Инструкция по настройке

Первый поток создается автоматически. Добавляйте или удаляйте потоки по выбору.

Введите желаемое название потока или сформируйте его автоматически, нажав на "Кубики".

Выберите качество потока из выпадающего списка.

Важно

При способе публикации SRT-publish доступно создание не более 10 потоков.


Нажмите на кнопку "СОЗДАТЬ РЕСУРС".

Ресурс создан! Вы перенаправлены на вкладку "Инструкция по настройке".

Для публикации выделяются два URL: основной и резервный. Резервный URL следует использовать только при наличии достаточной полосы пропускания.

При создании нескольких потоков каждому из них будет выделена своя ссылка публикации.

Проверка трансляции

После получения ссылок для публикации и настройки энкодера мы рекомендуем проверить трансляцию на корректность работы. Для этого перейдите во вкладку "Плеер". При правильной настройке энкодера в плеере отобразится запущенная трансляция.

Выберите комфортный способ просмотра: просмотр созданных потоков по отдельности или все вместе.

Обратите внимание

Используйте фрейм "Код для встраивания" для размещения плеера на вашем ресурсе.


Транскодирование $

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

  • протокол: SRT;
  • кодек для видео: h.264;
  • кодек для аудио: AAC/mp3.

Если у Вас нет возможности предоставить поток с указанными параметрами, а также для сокращения затрат на оборудование и программное обеспечение - используйте услугу транскодирования.

Для подключения услуги транскодирования на странице создания или редактирования SRT-publish ресурса необходимо:

  • указать исходный поток, который Вы будете публиковать;
  • активировать услугу "Транскодирование потока";
  • выбрать подходящий пакет транскодирования (параметры пакета можно увидеть, нажав на кнопку "Подробности");
  • нажать кнопку "СОЗДАТЬ РЕСУРС" или "СОХРАНИТЬ".

Обратите внимание

Если Вы заказываете услугу транскодирования, то для ресурса указывается ТОЛЬКО ОДИН входной поток.


Дополнительные настройки

Авторизация $
Локальная авторизация $

Описание логики работы:

Авторизация запросов пользователей выполняется исключительно в сети CDN, внешние ресурсы не используются. Решение о доступе к потоку принимается средствами нашей сети на основе критериев, обозначенных владельцем контента:

  1. Секретный ключ. Проверяется, что ссылка сформирована именно владельцем контента.
  2. URI запрашиваемого потока. Проверяется, что ссылка была сформирована именно для этого потока.
  3. IP-адрес пользователя (опционально). Проверяется, что поток запрошен именно с того IP-адреса, для которого была сформирована ссылка. Вы можете отключить проверку, выбрав опцию "Не учитывать IP адрес".
  4. Время окончания действия ссылки (опционально). Вы можете отключить проверку, выбрав опцию "Не ограничивать по времени".

В момент обращения пользователя к защищённому потоку владельцу контента необходимо сформировать специальную ссылку.

Пример ссылки с локальной авторизацией:

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>.

Обратите внимание

  1. Доменная часть URI при вычислении хэша не используется
  2. Можно подписывать часть пути (например, для /path/to/stream можно подписать сам поток, /path/to, /path)
  3. При генерации MD5 в URL не должно быть символов в формате urlencode, а должны быть исходные символы: кириллица, пробелы, проценты и т.д. Запрашивать с этим хешом необходимо кодированный вариант URL.
  4. Хэш MD5, вычисленный для HTTP, является базовым для данного потока, то есть один и тот же хэш будет использован для ссылок на поток по протоколам HTTP и HTTPS, несмотря на то что URI для разных протоколов может немного отличаться.


Пример генерации ссылки:

  1. Есть следующие входные данные:

  2. Формируем строку для подписи <secret_word><path_to_stream><ip><expire_time>. Допустим, что мы учитываем и IP адрес, и время окончания действия ссылки.

    Тогда строка для подписи выглядит так: zah5Mey9Quu8Ea1k/path/to/stream1.2.3.41704067200

  3. Формируем подпись <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
    


  4. Итоговая ссылка:

    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

Процесс конфигурации модуля
  1. Активируйте нужный Вам вид ограничения и выберите правило по умолчанию (запрещено или разрешено).
  2. Добавьте исключения из правила по умолчанию. Для гео ограничений также выберите правило для самого исключения. Таким образом Вы можете, например, запретить трафик для всей страны, при этом разрешить для отдельного региона.
  3. При необходимости задайте интервалы времени действия правила. Интервалы не должны пересекаться.
  4. Возможно добавить несколько различных правил каждого вида, при условии что их временные интервалы не пересекаются.
  • Нет меток