Я нахожусь в процессе внедрения обслуживания видео по запросу для наших клиентов. У нас есть собственный частный контент, который мы предоставляем нашим клиентам через S3 и Cloud-front. Необработанные файлы MP4 хранятся в S3 и обслуживаются через Cloud-front.
Мы используем подписанные URL-адреса для обслуживания содержимого (следуйте инструкциям, приведенным здесь Использование подписанных URL-адресов
Параметры распространения облачного фронта примерно такие:
Наше приложение представляет собой приложение Flutter и мы используем Neeko player (https://github.com/OpenFlutter/neeko) в приложении для воспроизведения видео.
Проблема, с которой я сталкиваюсь, заключается в том, что первоначальное подключение к облачному фронту занимает много времени Даже если соединение установлено, видеопроигрыватель сначала буферизует видео почти до половины продолжительности, а затем начинает воспроизведение видео. Много раз в сетях 4G / 3G первоначальное соединение с облачным фронтом не устанавливается, в результате чего в бесконечном ожидании l oop в проигрывателе.
Поскольку мы используем подписанные URL-адреса для обеспечения безопасности содержимого, мы генерируем уникальный URL-адрес для каждого запроса, который действителен в течение 3 минут (это было 30 секунд, но в качестве вероятного решения этот проб лем мы увеличили его до 3 минут).
Я не использую спецификацию AWS c Преобразование мультимедиа и загружаю файлы MP4 непосредственно в корзину S3 (эти файлы сжаты и имеют размер в среднем 20-30 МБ).
Что я делаю не так? Каков будет лучший способ предоставления частного контента при сохранении конфиденциальности контента, а также возможности его обслуживания в любых условиях сети.
Пожалуйста, сообщите.