Буферизация при обслуживании видео через AWS CloudFront

Мы размещаем видео в формате AWS S3 в формате HLS (множество файлов.ts, + плейлисты.m3u8).

Мы настроили AWS CloudFront со всеми местоположениями Edge для обслуживания этих файлов.

У нас есть 2 приложения, iOS и Android, с видеоплеером, который воспроизводит URL-адрес CloudFront. Android-приложение использует Google Exoplayer, а iOS-приложение - AVPlayer. Они оба представляют одни и те же проблемы.

Видео воспроизводится плавно из того же региона, что и исходная корзина S3. У нас были некоторые проблемы в начале, но мы исправили их, исправив кодировку битрейта.

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

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

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

Поэтому в других регионах мы установили 2 сервера не-AWS, которые автоматически загружают видео, чтобы обеспечить их кэширование в этих двух регионах, как только они будут опубликованы.

Но, похоже, это тоже не поможет.

Мне интересно, эффективен ли AWS CloudFront для потоковой передачи видео через прямую загрузку, или нам что-то не хватает.

Как заставить CloudFront работать, чтобы избавиться от буферизации видео? Или, если CloudFront не является решением (почему?), Что мы должны смотреть?

Примечание: мы устанавливаем TTL на 10 лет, на всякий случай... и мы управляем недействительностью вручную.

0 ответов

Другие вопросы по тегам