Перейти к содержанию

Живая трансляция

Сервис позволяет вести прямые видеотрансляции событий для широкой аудитории в режиме реального времени.

Создание ресурса

Для начала работы необходимо создать ваш ресурс. Для этого в правом верхнем углу выберите "СОЗДАТЬ РЕСУРС".

Выбор ресурса

Для создания прямой видеотрансляции нажмите на иконку "Публикация потока по RTMP/RTSP".

Создание live-ресурса

Откроется окно для настройки прямой видеотрансляции.

Для настройки прямой видеотрансляции требуется выбрать способ доставки потока на серверы публикации.

Возможные способы публикации потока в сети CDNvideo:

RTMP/RTSP-publish

Описание

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

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

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

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

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

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

Важно

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

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

Каждому потоку присваивается ID - номер. Используйте ID для обращения к службе поддержки и общении с персональным менеджером.

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

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

Для публикации выделяются два URL (основной и резервный) и имя потока с указанием авторизационного токена. Выберите конкретный способ публикации для формирования корректных ссылок.

Пример для RTMP-publish:

  • URL primary: rtmp://a.r.cdnvideo.net/livemaster/
  • URL backup: rtmp://b.r.cdnvideo.net/livemaster/
  • Streams: m97yox4iyw_0k1z5tsvxkb?auth=jkJt47ncuaFo78z1WXgAgJp

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

Для публикации нескольких качеств в некоторых энкодерах (например, Wirecast) требуется вводить поле Streams по отдельности. Чтобы показать Streams по отдельности нажмите на "Стрелочку вниз". Если вы пользуетесь, например FMLE 3.2, скопируйте поле целиком.

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

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

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

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

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

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

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

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

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

Данная услуга активирована по умолчанию.

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

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

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

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

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

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

Название CDN-ресурса

Для изменения названия ресурса введите в поле новое название ресурса и нажмите кнопку "СОХРАНИТЬ".

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

Название ресурса генерируется автоматически на этапе создания.

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

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

Пример:

http://example.a.trbcdn.net/path/to/stream?md5=ycmYPfxHwqjnIM93o7JNOA&e=1387984517

Ссылка содержит два авторизационных параметра:

  • ‘md5=’ — хэш MD5 в формате Base64 for URL, сгенерированный на основе URI запрошенного потока, времени жизни ссылки, секретного ключа, IP-адреса пользователя (опционально);
  • ‘e=’ — время окончания действия ссылки в формате POSIX time (необязательный параметр).

При обращении к контенту с использованием сгенерированной ссылки, CDN вычисляет значение MD5 и сравнивает его с полученным. Если значение MD5 не совпадает, то пользователю возвращается ответ с кодом ‘403 Forbidden’ (запрет на воспроизведение).

Если текущее время превышает значение “e” (expires), то пользователю возвращается ответ с кодом ‘410 Gone’ (целевой ресурс больше недоступен).

Пример алгоритма расчета MD5-хэша с использованием IP-адреса пользователя в качестве одного из входных параметров:

md5 = base64_url(md5(SECRET/path/to/stream/1.2.3.4expiretime))

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

Доменная часть URI при вычислении хэша не используется!

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

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

  2. Вычисляем время действия ссылки. В приведённом примере – неделя с момента генерации.

    $ php -r 'print time() + (7 * 24 * 60 * 60) . «\n»;'
    1387984517
    

  3. Вычисляем хэш MD5 в формате Base64 for URL:
    $ php -r 'print str_replace("=", "",strtr(base64_encode(md5("zah5Mey9Quu8Ea1k/path/to/stream1.2.3.41387984517", TRUE)), "+/", "_")) . "\n";'
    ycmYPfxHwqjnIM93o7JNOA
    
  4. Итоговая ссылка:

    http://example.a.trbcdn.net/path/to/stream?md5=ycmYPfxHwqjnIM93o7JNOA&e=1387984517

Внимание!

Хэш MD5, вычисленный для HTTP, является базовым для данного ресурса. То есть, один и тот же хэш будет использован для ссылок на файл по протоколам HTTP, HTTPS несмотря на то, что URI для разных протоколов может немного отличаться.

При локальной авторизации контролируются следующие параметры:

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

Внешняя авторизации предназначена для возможности ограничения доступа к потоку с произвольной логикой, описанной в вашем скрипте авторизации.

Решение о доступе к потоку принимается на основе ответа вашего скрипта, ссылку на который вы указываете в личном кабинете при создании/редактировании ресурса.

Если от скрипта авторизации пришел ответ со статусом 200, то доступ к потоку разрешен. В противном случае - доступ запрещен.

Авторизационному скрипту передаются следующие заголовки:

  • Host: содержит имя домена, для которого предназначен запрос;
  • X-Request-URI: содержит URI запрашиваемого потока;
  • X-Forwarded-For: содержит реальный IP-адрес пользователя, который запрашивает поток;
  • X-Remote-Addr: содержит IP-адрес пользователя, который запрашивает поток, или прокси-сервера.

HLS-cache

Описание

При данном способе публикации потока контент загружается в кэш сервера раздачи с сервера-источника при первом запросе пользователя и используется при обслуживании последующих запросов. Объекты хранятся в кэше в течение определенного периода времени.

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

  • Adobe HDS;
  • Apple HLS;
  • Microsoft Smooth Streaming (MSS).

При данном способе, трансформация потоков в другой формат не производится.

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

Нажмите на иконку "Трансляция готового HLS потока".

Источник данных

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

В качестве источника могут выступать:

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

Если у вас несколько источников контента (primary/backup), то вы можете настроить приоритетность каждого. В случае, если источник с "первым приоритетом" будет недоступен, то сеть CDN автоматически переключится на следующий источник. Обратное переключение на приоритетный источник произойдёт автоматически, когда он будет снова работать в штатном режиме.

Если вы используете хостинг на таких сервисах как: Wix, Amazon S3, Selectel и т.д., обратите, пожалуйста, особое внимание на следующий раздел "Hostname".

Hostname

У многих виртуальных хостингов (таких как Amazon S3) есть практика обслуживания нескольких сайтов с одного веб-сервера. Чтобы узлы сети CDN могли достучаться до вашего контента, вам нужно указать корретный Hostname.

Если вы не знаете свой Hostname или не знаете где его найти, попробуйте воспользоваться этим сервисом. Укажите домен своего сайта и на вкладке "Информация" посмотрите поле "Имя ресурса".

Порядок действий, если вы не знаете свой Hostname:

  1. Зайдите на свой сайт и скопируйте ссылку на любую картинку, кликнув по ней правой кнопкой.
  2. Вставьте ссылку в новом окне браузера. Полученный домен и будет являться Источником контента для вашего сайта. Например, если у вас сайт размещён на Wix, источником контента будет выступать домен static.wixstatic.com
  3. Зайдите на ресурс https://check-host.net и укажите домен вашего сайта (не источника контента).
  4. На вкладке "Информация" посмотрите на "Имя ресурса" — это и есть ваш Hostname. Например, если у вас хостинг на Amazon, то Hostname может иметь вид: ec7-54-151-126-156.eu-west-1.compute.amazonaws.com
  5. Укажите полученный Hostname в личном кабинете.
Ссылка на HLS-поток

Для загрузки контента с сервера-источника в кэш сервера раздачи необходимо предоставить URL потока.

Введите путь до потока. Доменное имя подставляется автоматически из "Источника данных".

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

Вы можете добавить несколько плейлистов.

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

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

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

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

Важно

Вы должны заменить все ссылки до видео-контента на ссылку, указанную в поле "CDN-ссылка на плейлист". После этого контент начнет отдаваться с CDN-узлов.

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

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

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

В дополнительных настройках вы можете настроить CNAME, добавить свой SSL-сертификат, а также изменить имя ресурса.

По умолчанию, после сохранения настроек, ваш контент будет доступен по HTTPS и будет иметь следующий вид https://example.a.trbcdn.net.

Свой SSL-сертификат

Для начала работы необходимо загрузить ваш сертификат или сгенерировать новый сертификат. Для этого в правом верхнем углу выберите "ДОБАВИТЬ СЕРТИФИКАТ".

Выберите сертификат, который вы планируете использовать:

Желаемый CNAME

CNAME-запись позволяет присваивать хосту псевдоним. Этот псевдоним обычно связывает с хостом какую-нибудь функцию, либо просто сокращает его имя.

По умолчанию ваш контент будет доступен по example.a.trbcdn.net/images/1.jpg, но вы можете настроить доступ к своему контенту по адресу cdn.example.ru/images/1.jpg. Для этого нужно создать CNAME-запись по приведенной ниже инструкции. Запись следует создать на тех серверах, на которые делегирован ваш домен.

  1. Откройте страницу управления DNS на сайте компании, предоставляющей вам услуги DNS-хостинга.

  2. Создайте CNAME-запись со следующими значениями полей (в разных панелях управления названия полей могут отличаться):

    • Имя (Хост) — "cdn".

      В некоторых панелях управления в качестве имени записи требуется указывать полное имя поддомена, например, cdn.example.ru.

    • Значение — example.a.trbcdn.net..

  3. Подождите, пока изменения в DNS вступят в силу. Этот процесс может длиться до 72 часов.

Если при настройке Live-ресурса был указан желаемый CNAME - в вкладке "Инструкция по настройке + Плеер" будет описана настройка CNAME на вашем DNS-сервере и представлена дополнительная CDN-ссылка на плейлист.

Название CDN-ресурса

Для изменения названия ресурса введите в поле новое название ресурса и нажмите кнопку "СОХРАНИТЬ".

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

Название ресурса генерируется автоматически на этапе создания.

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

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

Пример:

http://example.a.trbcdn.net/path/to/stream?md5=ycmYPfxHwqjnIM93o7JNOA&e=1387984517

Ссылка содержит два авторизационных параметра:

  • ‘md5=’ — хэш MD5 в формате Base64 for URL, сгенерированный на основе URI запрошенного потока, времени жизни ссылки, секретного ключа, IP-адреса пользователя (опционально);
  • ‘e=’ — время окончания действия ссылки в формате POSIX time (необязательный параметр).

При обращении к контенту с использованием сгенерированной ссылки, CDN вычисляет значение MD5 и сравнивает его с полученным. Если значение MD5 не совпадает, то пользователю возвращается ответ с кодом ‘403 Forbidden’ (запрет на воспроизведение).

Если текущее время превышает значение “e” (expires), то пользователю возвращается ответ с кодом ‘410 Gone’ (целевой ресурс больше недоступен).

Пример алгоритма расчета MD5-хэша с использованием IP-адреса пользователя в качестве одного из входных параметров:

md5 = base64_url(md5(SECRET/path/to/stream1.2.3.4expiretime))

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

Доменная часть URI при вычислении хэша не используется!

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

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

  2. Вычисляем время действия ссылки. В приведённом примере – неделя с момента генерации.

    $ php -r 'print time() + (7 * 24 * 60 * 60) . «\n»;'
    1387984517
    

  3. Вычисляем хэш MD5 в формате Base64 for URL:
    $ php -r 'print str_replace("=", "",strtr(base64_encode(md5("zah5Mey9Quu8Ea1k/path/to/stream1.2.3.41387984517", TRUE)), "+/", "_")) . "\n";'
    ycmYPfxHwqjnIM93o7JNOA
    
  4. Итоговая ссылка:

    http://example.a.trbcdn.net/path/to/stream?md5=ycmYPfxHwqjnIM93o7JNOA&e=1387984517

При локальной авторизации контролируются следующие параметры:

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

Внешняя авторизации предназначена для возможности ограничения доступа к потоку с произвольной логикой, описанной в вашем скрипте авторизации.

Решение о доступе к потоку принимается на основе ответа вашего скрипта, ссылку на который вы указываете в личном кабинете при создании/редактировании ресурса.

Если от скрипта авторизации пришел ответ со статусом 200, то доступ к потоку разрешен. В противном случае - доступ запрещен.

Авторизационному скрипту передаются следующие заголовки:

  • Host: содержит имя домена, для которого предназначен запрос;
  • X-Request-URI: содержит URI запрашиваемого потока;
  • X-Forwarded-For: содержит реальный IP-адрес пользователя, который запрашивает поток;
  • X-Remote-Addr: содержит IP-адрес пользователя, который запрашивает поток, или прокси-сервера.