Настроить потоковое вещание через CDN по протоколу HLS

Последние изменения: 20.02.2023

Условия
Настроить

1. Создать CDN-ресурс

2. Изменить настройки кеширования

3. Включить пресет

4. Интегрировать поток с CDN

5. Обновить ссылку

Условия для проведения трансляций через CDN

Если вы транслируете Live потоки или видео в формате HLS, CDN поможет ускорить их доставку конечным пользователям. Так как HLS основан на протоколе HTTP, ваши трансляции будут кешироваться и передаваться как обычные статичные файлы.

Чтобы вести трансляции через CDN, нужно:

  • Транслировать Live поток или видео в формате HLS.

  • Создать CDN-ресурс в личном кабинете.

  • Внести настройки кеширования.

Настроить проведение трансляций через CDN

1. Создать CDN-ресурс

В личном кабинете создайте CDN-ресурс в соответствии с инструкцией «Создать и интегрировать CDN-ресурс. Для статических файлов».

2. Изменить настройки кеширования

Добавьте настройки кеширования для следующих файлов HLS:

  • .ts. Каждый такой файл содержит сегменты трансляции. Эти файлы называют «чанками».

  • .m3u8. Каждый такой файл содержит информацию о трансляции и список видео-сегментов (.ts). Эти файлы называют «плейлистами».

Сначала браузер запрашивает плейлист (.m3u8), затем воспроизводит чанки (.ts) в порядке, заданном плейлистом.

Время кеширования чанков (.ts) — 1 минута. Такое значение кеширования превышает продолжительность чанка и помогает справиться с проблемой медленного интернет-соединения пользователей. Пользователи могут получить устаревший плейлист со списком чанков от CDN, хотя на источнике, возможно, лежит новый плейлист с новыми чанками. Если мы установим время кеширования чанков — менее 1 минуты, браузер пользователя отправит запрос на устаревший плейлист и получит 404 код ответа, потому что на источнике такого файла уже нет.

Время кеширования плейлистов (.m3u8) — 1-2 секунды. Если вы установите короткий период кеширования, пользователи не будут получать плейлисты со старыми чанками из кеша.

Задайте настройки кеширования на источнике с помощью HTTP-заголовка Cache-Control или в личном кабинете.

020ac42cc19e2decda6a8d90c09e1afa.png
  1. Перейдите в настройки CDN-ресурса и нажмите на кнопку Правила.

  2. Нажмите на кнопку Создать правило.

  3. Выберите правило Video segments template (.ts) и нажмите Создать правило на открывшейся вкладке. Повторите действия для правила Playlists template (.m3u8).

3. Включить пресет для кеширования через оперативную память

Если вы планируете передавать видео (VOD), такой тип настройки вам не подойдёт. Перейдите к следующему пункту инструкции.

Чтобы ускорить передачу файлов через CDN, включите пресет «LIVE STREAMING». Так файлы Live потока будут кешироваться не на жёстких дисках, а в оперативной памяти серверов.

8da2490326e223d03f0778f852fd7aa0.png

Для этого перейдите в список CDN-ресурсов и нажмите на три точки напротив названия ресурса. Выберите Включить пресет «LIVE STREAMING».

Чтобы отключить пресет, выберите Выключить пресет «LIVE STREAMING».

4. Интегрировать поток с CDN

В ссылке на поток замените ваш домен на CDN-домен. Предварительно убедитесь, что CNAME запись настроена корректно.

Например, поток напрямую с источника: http://domain/playlist.m3u8

Поток через CDN: http://cdn.domain/playlist.m3u8

Проверить трансляцию можно через любой плеер, который работает с потоковым видео по протоколу HLS (например, VLC).

5. Обновить ссылку на трансляцию

Разместите обновлённую ссылку на плейлист на вашем сайте. Если трансляцию будут смотреть более 100 человек в разных локациях, рекомендуем подключить опцию Шилдинг источника (прекеш-сервер), чтобы снизить нагрузку с источника.

Помогла ли вам статья?