Обслуживание видео по запросу с помощью Cloudfront, S3 и Flutter - PullRequest
0 голосов
/ 12 апреля 2020

Я нахожусь в процессе внедрения обслуживания видео по запросу для наших клиентов. У нас есть собственный частный контент, который мы предоставляем нашим клиентам через S3 и Cloud-front. Необработанные файлы MP4 хранятся в S3 и обслуживаются через Cloud-front.

Мы используем подписанные URL-адреса для обслуживания содержимого (следуйте инструкциям, приведенным здесь Использование подписанных URL-адресов

Параметры распространения облачного фронта примерно такие: enter image description here enter image description here enter image description here

Наше приложение представляет собой приложение Flutter и мы используем Neeko player (https://github.com/OpenFlutter/neeko) в приложении для воспроизведения видео.

Проблема, с которой я сталкиваюсь, заключается в том, что первоначальное подключение к облачному фронту занимает много времени Даже если соединение установлено, видеопроигрыватель сначала буферизует видео почти до половины продолжительности, а затем начинает воспроизведение видео. Много раз в сетях 4G / 3G первоначальное соединение с облачным фронтом не устанавливается, в результате чего в бесконечном ожидании l oop в проигрывателе.

Поскольку мы используем подписанные URL-адреса для обеспечения безопасности содержимого, мы генерируем уникальный URL-адрес для каждого запроса, который действителен в течение 3 минут (это было 30 секунд, но в качестве вероятного решения этот проб лем мы увеличили его до 3 минут).

Я не использую спецификацию AWS c Преобразование мультимедиа и загружаю файлы MP4 непосредственно в корзину S3 (эти файлы сжаты и имеют размер в среднем 20-30 МБ).

Что я делаю не так? Каков будет лучший способ предоставления частного контента при сохранении конфиденциальности контента, а также возможности его обслуживания в любых условиях сети.

Пожалуйста, сообщите.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...