Потоковая передача содержимого с интеграцией CDN
логотип служб мультимедиа версии 3
Предупреждение
Службы мультимедиа Azure будут прекращены 30 июня 2024 г. Дополнительные сведения см. в руководстве по выходу на пенсию AMS.
Важный
Так как службы мультимедиа Azure отменяется с 30 июня 2024 г. и Azure CDN будут отставать от Azure CDN уровня "Стандартный" от Akamai 31 октября 2023 г. лучше не создавать новые CDN для использования с службами мультимедиа Azure. См. руководство по выходу служб мультимедиа Azure.
Сеть доставки содержимого Azure (CDN) предлагает разработчикам глобальное решение для быстрого доставки содержимого с высокой пропускной способностью пользователям путем кэширования содержимого на стратегически размещенных физических узлах по всему миру.
CDN кэширует содержимое, потоковое из службы мультимедиа конечной точки потоковой передачи (источника) на кодек, на протокол потоковой передачи, на скорость, на формат контейнера и на шифрование или DRM. Для каждой комбинации шифрования протокола потоковой передачи codec-container-format-bitrate-encryption будет отдельный кэш CDN.
Популярное содержимое будет обслуживаться непосредственно из кэша CDN, пока фрагмент видео кэшируется. Динамический контент, скорее всего, кэшируется, потому что у вас обычно много людей, просматривающих то же самое. Содержимое по запросу может быть немного сложнее, потому что у вас может быть некоторое содержимое, которое популярно, и некоторые из них не так. Если у вас есть миллионы видеоматериалов, где ни один из них не популярен (только один или два зрителей в неделю), но у вас есть тысячи людей, просматривающих все различные видео, CDN становится гораздо менее эффективным.
Кроме того, необходимо рассмотреть вопрос о том, как работает адаптивная потоковая передача. Каждый отдельный фрагмент видео кэшируется в виде собственной сущности. Например, представьте себе первый просмотр определенного видео. Если зритель пропускает просмотр только несколько секунд здесь и там, только фрагменты видео, связанные с тем, что пользователь наблюдал, кэшируется в CDN. При адаптивной потоковой передаче обычно используется 5–7 разных скоростей видео. Если один человек смотрит одну скорость, а другой человек смотрит другую скорость, то каждый из них кэшируется отдельно в CDN. Даже если два человека смотрят одну и ту же скорость, они могут быть потоковыми по разным протоколам. Каждый протокол (HLS, MPEG-DASH, Smooth Streaming) кэшируется отдельно. Таким образом, каждый битовый и протокол кэшируются отдельно, и кэшируются только те фрагменты видео, которые были запрошены.
За исключением тестовой среды, рекомендуется включить CDN для конечных точек потоковой передачи уровня "Стандартный" и "Премиум". Каждый тип конечной точки потоковой передачи имеет разные поддерживаемые ограничения пропускной способности.
Сложно выполнить точный расчет максимального числа одновременных потоков, поддерживаемых конечной точкой потоковой передачи, так как необходимо учитывать различные факторы. К ним относятся:
- Максимальное число скоростей, используемых для потоковой передачи
- Поведение проигрывателя до буфера и переключения. Игроки пытаются ускорить сегменты из источника и использовать скорость загрузки для вычисления адаптивного переключения скорости. Если конечная точка потоковой передачи приближается к насыщенности, время отклика может отличаться, и игроки начинают переходить на более низкое качество. Так как это снижает нагрузку на проигрыватели конечных точек потоковой передачи, откатите к более высокому качеству, создавая нежелательные триггеры переключения.
В целом можно оценить максимальное число одновременных потоков, принимая максимальную пропускную способность конечной точки потоковой передачи и разделяя ее на максимальную скорость (если все игроки используют максимальную скорость.) Например, у вас может быть конечная точка потоковой передачи уровня "Стандартный", которая ограничена 600 Мбит/с и максимальной скоростью 3Mbp. В этом случае в верхней скорости поддерживаются примерно 200 параллельных потоков. Не забудьте учитывать требования к пропускной способности звука, а также. Хотя аудиопоток может быть потоковой передачой только в 128 kps, общая потоковая передача быстро увеличивается при умножении на число одновременных потоков.
В этом разделе описывается включениеинтеграции CDN
Соображения
- Конечная точка потоковой передачи
hostname
и URL-адрес потоковой передачи остаются неизменными независимо от того, включен ли cdN. - Если вам нужна возможность протестировать содержимое с cdN или без нее, создайте другую конечную точку потоковой передачи, которая не включена.
Включение интеграции Azure CDN
Важный
Вы не можете включить CDN для пробных или студенческих учетных записей Azure.
Интеграция CDN включена во всех центрах обработки данных Azure, кроме федеральных государственных организаций и регионов Китая.
После подготовки конечной точки потоковой передачи с включенной функцией CDN в службах мультимедиа предстоит выполнить обновление DNS, чтобы сопоставить конечную точку потоковой передачи с конечной точкой CDN.
Если позже вы хотите отключить или включить CDN, конечная точка потоковой передачи должна находиться в состоянии остановленной. После запуска конечной точки потоковой передачи может потребоваться до четырех часов, чтобы включить интеграцию Azure CDN и включить изменения во всех PON CDN. Однако вы можете запустить конечную точку потоковой передачи и поток без прерываний из конечной точки потоковой передачи. После завершения интеграции поток будет доставлен из CDN. В течение периода подготовки конечная точка потоковой передачи будет находиться в состоянии запуска и может наблюдаться снижение производительности.
Когда создается конечная точка потоковой передачи "Стандартный", она настроена по умолчанию с помощью Standard Verizon. Вы можете настроить поставщиков Premium Verizon или Standard Akamai с помощью REST API.
Интеграция служб мультимедиа Azure с Azure CDN реализована в Azure CDN из Verizon для стандартных конечных точек потоковой передачи. Конечные точки потоковой передачи класса Premium можно настроить с помощью Standard Verizon или Premium Verizon. Стандартные akamai можно настроить только с помощью REST API или клиентских пакетов SDK.
Заметка
Дополнительные сведения об Azure CDN см. в
Определение того, было ли сделано изменение DNS
Вы можете определить, было ли изменение DNS в конечной точке потоковой передачи (трафик направляется в Azure CDN) с помощью https://www.digwebinterface.com. Если в результатах отображаются azureedge.net
доменные имена, трафик теперь указывает на CDN.
Origin-Assist CDN-Prefetch
Кэширование CDN — это реактивный процесс. Если CDN может предсказать следующий объект, который будет запрашиваться, CDN может заранее запрашивать и кэшировать следующий объект. С помощью этого процесса можно достичь попадания в кэш для всех (или большинства) объектов, что повышает производительность.
Предварительная выборка стремится разместить объекты в "краю Интернета", ожидая, что объекты будут запрашиваться игроком неизбежно, тем самым уменьшая время доставки этого объекта игроку.
Чтобы достичь этой цели, конечная точка потоковой передачи (источник) и CDN должны работать вручную несколькими способами:
- Источник служб мультимедиа должен иметь "аналитику" (Origin-Assist) для того, чтобы сообщить CDN, какой объект будет предварительной выборки далее.
- CDN выполняет предварительную выборку и кэширование (часть CDN-prefetch). CDN также должен иметь "интеллект" для:
- сообщите источнику о том, является ли это предварительная выборка или регулярное получение
- обработка ответов 404
- и способ избежать бесконечного цикла предварительной выборки
Преимущества
Преимущества функции Origin-Assist CDN-Prefetch включают:
- Предварительная выборка улучшает качество воспроизведения видео путем предварительного размещения ожидаемых сегментов видео на краю во время воспроизведения, уменьшения задержки в средстве просмотра и улучшения времени загрузки сегмента видео. Это приводит к более быстрому запуску видео и более низким вхождениям отступов.
- Эта концепция применима к общему сценарию источника CDN и не ограничивается носителями.
- Akamai добавил эту функцию в Akamai Cloud Embed (ACE).
Заметка
Эта функция еще не применима к конечной точке потоковой передачи Служб мультимедиа Akamai CDN. Тем не менее, он доступен для клиентов служб мультимедиа, имеющих предварительно существующий контракт Akamai и требующий пользовательской интеграции между AKamai CDN и источником служб мультимедиа.
Принцип работы
Поддержка CDN заголовков Origin-Assist CDN-Prefetch
(для потоковой передачи видео по запросу) доступна клиентам, имеющим прямой контракт с Akamai CDN. Эта функция включает в себя следующие обмены заголовками HTTP между AKamai CDN и источником служб мультимедиа:
Заголовок HTTP | Значения | Отправитель | Приёмник | Цель |
---|---|---|---|---|
CDN-Origin-Assist-Prefetch-Enabled |
1 (по умолчанию) или 0 | CDN | Происхождение | Чтобы указать, что cdN включена предварительная выборка. |
CDN-Origin-Assist-Prefetch-Path |
Пример: Фрагменты(video=1400000000000,format=mpd-time-cmaf) |
Происхождение | CDN | Чтобы предоставить путь предварительной выборки к CDN. |
CDN-Origin-Assist-Prefetch-Request |
1 (запрос на предварительную выборку) или 0 (обычный запрос) | CDN | Происхождение | Чтобы указать, что запрос из CDN является предварительной выборкой. |
Чтобы увидеть часть обмена заголовками в действии, выполните следующие действия:
- Используйте cURL, чтобы отправить запрос источнику служб мультимедиа для сегмента звука или видео или фрагмента. Обязательно добавьте заголовок
CDN-Origin-Assist-Prefetch-Enabled: 1
в запрос. - В ответе должен отображаться заголовок
CDN-Origin-Assist-Prefetch-Path
с относительным путем в качестве значения.
Поддерживаемые протоколы потоковой передачи
Функция Origin-Assist CDN-Prefetch
поддерживает следующие протоколы потоковой передачи для потоковой и потоковой передачи по запросу:
- HLS версии 3
- HLS версии 4
- HLS CMAF
- DASH (CSF)
- DASH (CMAF)
- Гладкая потоковая передача
Часто задаваемые вопросы
Что делать, если URL-адрес пути предварительной выборки недопустим, чтобы предварительная выборка CDN получила значение 404?
CDN кэширует только 404 ответ в течение 10 секунд (или другое настроенное значение).
Предположим, у вас есть видео по запросу. Если включена предварительная выборка CDN, это означает, что после того, как клиент запрашивает первый сегмент видео, предварительная выборка запустит цикл для предварительной выборки всех последующих сегментов видео с одинаковой скоростью?
Нет, cdN-prefetch выполняется только после того, как инициированный клиентом запрос/ответ. Предварительная выборка CDN никогда не активируется предварительной выборкой, чтобы избежать цикла предварительной выборки.
Всегда ли включена функция Origin-Assist CDN-Prefetch? Как включить или отключить его?
Эта функция отключена по умолчанию. Клиентам необходимо включить его через API Akamai.
Для потоковой передачи, что произойдет с Origin-Assist, если следующий сегмент или фрагмент еще недоступен?
В этом случае источник служб мультимедиа не будет предоставлять
CDN-Origin-Assist-Prefetch-Path
заголовка, а предварительная выборка CDN не будет выполняться.Как
Origin-Assist CDN-Prefetch
работает с динамическими фильтрами манифестов?Эта функция работает независимо от фильтра манифеста. Если следующий фрагмент выходит из окна фильтра, его URL-адрес по-прежнему будет расположен, просматривая необработанный манифест клиента, а затем возвращается в качестве заголовка ответа предварительной выборки CDN. Таким образом CDN получит URL-адрес фрагмента, отфильтрованного из манифеста DASH/HLS/Smooth. Однако проигрыватель никогда не будет отправлять запрос GET к CDN, чтобы получить этот фрагмент, так как этот фрагмент не включен в манифест DASH/HLS/Smooth, удерживаемый проигрывателем (проигрыватель не знает, что существование фрагмента).
Можно ли предварительно получить список воспроизведения DASH MPD/HLS/Гладкий манифест?
Нет, ТИРЕ MPD, главный список воспроизведения HLS, список воспроизведения вариантов HLS или URL-адрес гладкого манифеста не добавляется в заголовок предварительной выборки.
Являются ли URL-адреса предварительной выборки относительными или абсолютными?
Хотя Akamai CDN разрешает оба, источник служб мультимедиа предоставляет только относительные URL-адреса для пути предварительной выборки, так как нет очевидного преимущества в использовании абсолютных URL-адресов.
Работает ли эта функция с содержимым, защищенным drM?
Да, так как эта функция работает на уровне HTTP, она не декодирует или не анализирует сегмент или фрагмент. Это не заботится о том, шифруется ли содержимое.
Работает ли эта функция с вставкой на стороне сервера (SSAI)?
Он выполняется для исходного или основного содержимого (исходного видеоконтента перед вставкой рекламы), так как SSAI не изменяет метку времени исходного содержимого из источника служб мультимедиа. Работает ли эта функция с содержимым рекламы, зависит от того, поддерживает ли источник службы Origin-Assist. Например, если содержимое рекламы также размещено в службах мультимедиа Azure (том же или отдельном источнике), содержимое рекламы также будет предварительно возвращено.
Работает ли эта функция с содержимым UHD/HEVC?
Да.
Инструкции, руководства и примеры
- Включение оптимизаций CDN -включение экранов источника
Получение справки и поддержки
Вы можете обратиться к службам мультимедиа с вопросами или следовать нашим обновлениям одним из следующих методов:
- Q & A
-
стек переполнения. Пометьте вопросы с
azure-media-services
. - @MSFTAzureMedia или использовать @AzureSupport для запроса поддержки.
- Откройте запрос в службу поддержки на портале Azure.