HTTP Live Streaming через облачный фронт AWS

Хотелось бы узнать, был ли кто-либо в состоянии транслировать видео HLS через AWS Cloudfront с подписанным URL.

Мой опыт пока таков, что это невозможно. Документация AWS не ясна. Форум AWS молчит.

Кажется, я могу получить первый файл ( .m3u8), затем он останавливается. Использование проигрывателя JW, который жалуется, не может получить медиафайл.

Если ответ "да", пожалуйста, укажите мне правильное направление.

Благодарю.

4 ответа

Сценарий с неподписанными URL-адресами, безусловно, будет работать. Я успешно сегментировал видеопотоки с помощью ffmpeg на S3 и обслуживал их из CF. В конце концов, это все HTTP.

Если вы хотите ограничить доступ к своему содержимому HLS, ваш файл списка воспроизведения должен также включать подписанные URL-адреса. Обычно вы вычисляете их по запросу плейлиста, основываясь на любых учетных данных, с которыми вы хотите аутентифицировать пользователя. Таким образом, вам нужна реализация на стороне сервера, которая генерирует уникальные для сессии m3u8 для вас, чтобы схема со подписанным URL имела смысл.

В зависимости от ваших потребностей, другой вариант - изучить DRM. JW Player поддерживает дешифрование фрагментов одного / вращающегося ключа, что, вероятно, является более сложным решением. После этого вам будет предоставлена ​​возможность безопасного распространения ключей дешифрования среди ваших клиентов.

Я надеюсь, что это несколько решает ваши проблемы. Если нет, не стесняйтесь оставлять комментарии.

Используйте подписанные URL-адреса в следующих случаях:

  • Вы хотите использовать RTMP-дистрибутив. Подписанные куки не поддерживаются для дистрибутивов RTMP.
  • Вы хотите ограничить доступ к отдельным файлам, например, к загрузке установки для вашего приложения.
  • Ваши пользователи используют клиент (например, пользовательский HTTP-клиент), который не поддерживает файлы cookie.

Используйте подписанные куки в следующих случаях:

  • Вы хотите предоставить доступ к нескольким ограниченным файлам, например, ко всем файлам для видео в формате HLS или ко всем файлам в области подписчиков на веб-сайте.

  • Вы не хотите менять свои текущие URL.

Для получения дополнительной информации: http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/private-content-choosing-signed-urls-cookies.html

Согласно этой статье, Cloudfront действительно поддерживает HLS. В настоящее время я пытаюсь реализовать это на своем сайте, используя flowplayer с видео html5. Я обновлю этот ответ, как только он будет запущен. На сайте Amazon Web Services также было сказано о поддержке HLS, хотя она выглядит не так аккуратно и аккуратно, как подход rtmp.

Согласно описанию CloudFront его потоковой передачи:

Потоковая передача предварительно записанных мультимедиа. Вы можете доставлять медиафайлы по требованию с помощью потоковой передачи сообщений протокола реального времени Adobe (RTMP) через Amazon CloudFront. Вы храните оригинальную копию своих медиафайлов в Amazon S3 и используете Amazon CloudFront для доставки медиаконтента с низкой задержкой. Amazon CloudFront интегрируется с Amazon S3, поэтому вы можете настроить потоковую передачу мультимедиа с помощью простого вызова API или с помощью нескольких щелчков мыши в консоли управления AWS. Вы также получаете выгоду от высокопроизводительной доставки мультимедиа при использовании Amazon CloudFront, поэтому вы можете доставлять контент в полном качестве HD своим зрителям.

Короткий ответ в значительной степени нет. Потоковая передача из CloudFront - это RTMP.

Ссылка: http://aws.amazon.com/cloudfront/

Тем не менее, AWS Elastic Transcoder может создавать наборы файлов HLS и списки воспроизведения, и они могут обслуживаться из CloudFront. Тогда ответ становится "да, если вы можете сделать работу / разобраться".

Вот ссылка на их часто задаваемые вопросы, в которых рассказывается, как это сделать: http://aws.amazon.com/elastictranscoder/faqs/

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