Мы храним видеофайлы в Amazon S3-Buckets, а воспроизведение выполняем через CloudFront. К сожалению, хотя CloudFront имеет механизм извлечения источника, файлы передаются с S3 на края только по первому запросу. Это приводит к тому, что каждый первый пользователь в каждом регионе (а мы обслуживаем по всему миру) имеет большие задержки при потоковой передаче.
Я не нашел и возможности автоматически проталкивать новые видеофайлы прямо ко всем краям, но нам нужно решение для этого (и из-за того, что CloudFront иногда слишком медленный).
Есть ли CDN, способные
или есть ли способ решить мою проблему с CloudFront?
Большое спасибо.
Я думаю, вы обнаружите, что большинство CDN построены схожим образом, даже если они предлагают централизованное хранилище. Нет смысла выводить контент на периферию, если его никто не запрашивает, поэтому они делают это по запросу.
Это действительно проблема на практике? Мне кажется, что это может быть начальная задержка запуска не более секунды или около того, чтобы передать заголовки видеофайлов на пограничные потоковые серверы, а затем внутренней пропускной способности CloudFront будет достаточно для потоковой передачи видео непосредственно конечному пользователю. без заметных проблем с производительностью.
Я уверен, что у Akamai / LimeLight / Level3 или других крупных контрактных CDN есть решение для вас с SLA, которое подталкивает контент к краям при загрузке, но это будет стоить немного дороже. CloudFront стоит недорого, и вы получаете то, за что платите.
Наконец, проверьте заголовки файлов формата MP4 и убедитесь, что ваши атомы MOOV правильно настроены в начале файлов, чтобы разрешить поиск и потоковую передачу без полной загрузки файла. Таким образом, пограничный сервер может начать потоковую передачу до получения всего файла фильма с S3. Не уверен, какие кодеры вы используете, но часто доступна опция «оптимизировать для потоковой передачи или Интернета». Вот дополнительная информация об инструменте с открытым исходным кодом для изменения существующих видео для этого.