Доставка - Video CDN [RU]

Доставка - Video CDN [RU]

CDN интеллектуально распределяет контент по своим точкам присутствия (PoP) на основе популярности файлов в конкретных регионах. Для каждого региона (в нашей терминологии это соответствует PoP) система отслеживает спрос на отдельные файлы и вычисляет популярность независимо.

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

Эта оценка осуществляется непрерывно: система пересматривает пути доставки в реальном времени в зависимости от меняющегося количества запросов, состояния сети и кэша. В результате один и тот же пользователь может получить файл с одного PoP в определённый момент, а через несколько минут быть направлен к другому PoP за тем же файлом.

Такой адаптивный подход гарантирует, что файлы всегда доставляются с наиболее релевантного, оптимального узла, повышая отдачу, максимизируя хитрейт и оптимизируя использование ресурсов. Каждый PoP независимо отслеживает обращения к файлам, тем самым улучшая стратегию доставки.

Доставка на основе HTTP

Вся доставка контента в системе построена на протоколе HTTP: HTTP, HTTPS, HTTP/2. Это касается как адаптивной потоковой передачи (например, HLS и DASH), так и прямой загрузки файлов.

Протоколы за пределами семейства HTTP (например, RTMP или RTSP) не поддерживаются на данный момент.

Протокол HTTP/3 пока не поддерживается, но может быть добавлен в будущем.

URL-запросы

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

Чтобы воспользоваться этими функциями, следует составлять URL в соответствии с ожидаемым форматом и включать соответствующие параметры. Полный справочник поддерживаемых параметров URL доступен в Спецификация URL параметров.

Допустимые разделители и заметки о совместимости

При кодировании параметров непосредственно в пути URL поддерживаются два стиля разделителей для разделения имен и значений параметров: знак равенства = и подчёркивание _.

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

Пример корректного URL с подчёркиванием:

/key_cVZqlAEnap66ZuvxENuhBw/data_seo-bot/025/652/964/1080p.h264.mp4

Альтернативный корректный формат с использованием =:

/key=cVZqlAEnap66ZuvxENuhBw/data=seo-bot/025/652/964/1080p.h264.mp4

Хотя символ = является частью набора sub-delims согласно RFC 3986 §2.2, его использование в путях URL (особенно вне query-строк) может приводить к неконсистентному поведению у некоторых User-Agent (UA), например, встроенных плееров или промежуточных кэширующих устройств.

Поэтому рекомендуется отдавать предпочтение формату с подчёркиванием _ для лучшей совместимости, особенно в средах с строгими правилами парсинга или клиентами не браузерного типа. Стиль = остаётся технически допустимым и поддерживается нашим бэкендом, но его следует использовать с осторожностью из-за возможных проблем с совместимостью.

Отключение некоторых параметров URL

Вы можете отключить переопределение некоторых параметров URL на уровне аккаунта или домена. Это может потребоваться из соображения безопасности (особенно если Подпись URL отключён).

Вот список таких параметров: buffer, download2, download3, initial buffer, ip, media, referrer, secure cookie, speed.

См. также

Как отключить переопределение настроек через url параметры

Руководство по настройке функции

Манипуляция алгоритмом доставки

В типичных сценариях CDN выбирает оптимальную точку доставки на основе IP-адреса запрашивающего — обычно это браузер конечного пользователя. Однако, если пользователь получает контент CDN через собственный бэкенд или другой сервер вместо прямого доступа с IP посетителя, CDN будет принимать решения о маршрутизации на основе IP сервера. Это часто приводит к неоптимальной производительности, так как источник запроса не отражает фактическое местоположение конечного пользователя.

Для решения этой проблемы можно использовать параметр ip для явной передачи реального IP клиента. Это позволяет CDN принимать точные решения о маршрутизации и направлять трафик к наиболее подходящему edge-узлу на основе фактического местоположения пользователя.

Хотя такой подход противоречит лучшим практикам (особенно общему совету избегать схем CDN-через-CDN), он может быть полезен в специфических крайних случаях. Например, если клиент должен доставить манифест-файл в браузер через пользовательский или приватный механизм, он может предварительно загрузить манифест с CDN с использованием параметра ip, чтобы гарантировать выбор правильного региона.

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

См. также

Параметр «ip»

Параметр URL, который переопределяет IP-адрес посетителя при маршрутизации трафика

Управление скоростью доставки

Для оптимизации использования пропускной способности CDN может доставлять большие файлы (включая видео) с контролируемой скоростью, соответствующей фактической скорости потребления на стороне клиента, вместо того чтобы отправлять весь файл максимально быстро. Это действует как своего рода защита от чрезмерного использования сетевого канала.

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

Концепция защиты от чрезмерного использования полосы

Сокращая количество избыточных данных, эта функция помогает уменьшить общий объём трафика. Это может привести к значительной экономии средств, особенно для платформ, работающих с большими медиафайлами, дистрибутивами программного обеспечения или длинными видеоматериалами. Доставка только того, что нужно и когда нужно обеспечивает баланс между пользовательским комфортом и эффективным использованием ресурсов.

Управление скоростью применимо только к доставке файлов. Сегменты Streaming не подпадают под регулирование скорости.

См. также

Как управлять скоростью доставки файлов

Руководство по изменению обработки контента в браузерах

Как управлять скоростью доставки видеофайлов

Руководство по изменению обработки контента в браузерах

Параметр «speed»

Параметр URL, который задаёт скорость доставки для конкретного URL

Обработка контента в браузерах

Вы можете управлять тем, как браузер обрабатывает загружаемые файлы, используя HTTP-заголовки.

По умолчанию, если настроить веб-сервер, загрузить медиафайл и кликнуть по ссылке, браузер, скорее всего, просто воспроизведет его (особенно если это .mp4).

Но что если вы хотите, чтобы браузер предложил «Эй, хотите скачать это вместо просмотра?» — здесь и пригодятся заголовки Content-Disposition.

Эта функция позволяет инициировать конкретное поведение при загрузке, задав определённый параметр. Вы даже можете указать имя файла, которое браузер предложит пользователю. Если имя файла не указано, будет использовано исходное имя файла.

См. также

Как заставить браузер скачивать видео вместо демонстрации

Руководство по изменению обработки контента в браузерах

Параметр «download2»

Параметр URL, который переопределяет параметры обработки контента

IPv6