Дополнительные настройки RTMP/RTSP-publish
Дополнительные настройки ресурса вы можете задать в процессе его создания или после — на вкладке Настройки ресурса.
На этой странице
Локальная авторизация
Решение о доступе к ресурсу принимается средствами нашей сети на основе критериев, обозначенных владельцем контента.
В данном случае авторизация запросов пользователей выполняется исключительно в сети Cloud.ru, внешние ресурсы не используются.
В момент обращения пользователя к защищенному ресурсу владельцу контента необходимо сформировать специальную ссылку.
Пример ссылки: http://example.a.trbcdn.net/path/to/stream/playlist.m3u8?md5=ycmYPfxHwqjnIM93o7JNOA&e=1387984517
Ссылка содержит авторизационный параметр md5(<md5 hash>[,<expires>]) в пути:
-
md5 hash— хеш MD5 в формате Base64 for URL, сгенерированный на основе URI запрошенного ресурса, времени жизни ссылки, секретного ключа, IP-адреса пользователя (опционально);
-
expires — время окончания действия ссылки в формате POSIX time (необязательный параметр).
При обращении к контенту с использованием сгенерированной ссылки, CDN вычисляет значение MD5 и сравнивает его с полученным. Если значение MD5 не совпадает, то пользователю возвращается ответ с кодом 403 Forbidden (запрет на воспроизведение).
Если текущее время превышает значение expires, то пользователю возвращается ответ с кодом 410 Gone (целевой ресурс больше недоступен).
Пример алгоритма расчета MD5-хеша с использованием IP-адреса пользователя в качестве одного из входных параметров:
md5 = base64_url(md5(SECRET/path/to/stream1.2.3.4expiretime))
Пример алгоритма расчета MD5-хеша, если IP-адрес не учитывается:
md5 = base64_url(md5(SECRET/path/to/streamexpiretime))
-
Доменная часть URI при вычислении хеша не используется.
-
При генерации MD5 в URL не должно быть символов в формате URL encode. Должны быть исходные символы: кириллица, пробелы, проценты и т.д. Запрашивать с этим хешем необходимо закодированный вариант URL.
Можно подписывать часть пути (например, для /path/to/file можно подписать сам файл, /path/to, /path).
Пример генерации ссылки:
Есть следующие входные данные:
секретный ключ: zah5Mey9Quu8Ea1k
IP-адрес пользователя: 1.2.3.4
URI потока: http://example.a.trbcdn.net/path/to/stream/playlist.m3u8
-
Вычисляем время действия ссылки. В приведенном примере — неделя с момента генерации.
$ php -r 'print time() + (7 * 24 * 60 * 60) . "\n";'1387984517 -
Вычисляем хеш MD5 в формате Base64 for URL (путь указываем до плейлиста):
$ php -r 'print str_replace("=", "",strtr(base64_encode(md5("zah5Mey9Quu8Ea1k/path/to/stream1.2.3.41387984517", TRUE)), "+/", "-_")) . "\n";'ycmYPfxHwqjnIM93o7JNOA -
Итоговая ссылка: http://example.a.trbcdn.net/path/to/stream/playlist.m3u8?md5=ycmYPfxHwqjnIM93o7JNOA&e=1387984517
Хеш MD5, вычисленный для HTTP, является базовым для данного ресурса. То есть один и тот же хеш будет использован для ссылок на файл по протоколам HTTP, HTTPS, несмотря на то, что URI для разных протоколов может немного отличаться.
При локальной авторизации контролируются следующие параметры:
-
URI запрашиваемого ресурса. Проверяется, что ссылка была сформирована именно для этого файла.
-
Секретный ключ. Проверяется, что ссылка сформирована именно владельцем контента.
-
Время окончания действия ссылки (опционально). Вы можете отключить проверку, выбрав опцию Не ограничивать по времени.
-
IP-адрес пользователя (опционально). Проверяется, что ресурс запрошен именно с того IP-адреса, для которого была сформирована ссылка. Вы можете отключить проверку, выбрав опцию Не учитывать IP адрес.
Внешняя авторизация
Внешняя авторизации предназначена для возможности ограничения доступа к ресурсу с произвольной логикой, описанной в вашем скрипте авторизации.
Решение о доступе к контенту принимается на основе ответа вашего скрипта, ссылку на который вы указываете в личном кабинете при создании/редактировании ресурса.
Если от скрипта авторизации пришел ответ со статусом 200, то доступ к контенту разрешен. В противном случае — доступ запрещен.
Авторизационному скрипту передаются следующие заголовки:
Host — содержит имя домена, для которого предназначен запрос.
X-Request-URI — содержит URI запрашиваемого ресурса.
X-Forwarded-For — содержит реальный IP-адрес пользователя, который запрашивает ресурс.
X-Remote-Addr — содержит IP-адрес пользователя, который запрашивает ресурс или прокси-сервера.
Ограничения раздачи
В этом разделе вы можете установить ограничения раздачи контента в зависимости от страны и региона, IP адреса, заголовка referer или User-Agent.
Протоколы раздачи потока
По умолчанию предоставляется возможность просмотра трансляции по протоколу HLS. Активируйте эту функцию, если планируете использовать другие протоколы раздачи (RTMP, MPEG-DASH, MSS, Low Latency Streaming).
Перед включением опции с вами свяжется менеджер.
Название ресурса
Для изменения названия ресурса введите в поле новое название ресурса и нажмите Сохранить. Название ресурса генерируется автоматически на этапе создания.
- Локальная авторизация
- Внешняя авторизация
- Ограничения раздачи
- Протоколы раздачи потока
- Название ресурса