Как изменить src видео HTML5 без перезагрузки?

Я хочу отображать видео, хранящиеся на Amazon S3, но не хочу делать видеофайлы общедоступными. Для этого я планирую использовать предварительно подписанные временные URL-адреса ссылок со стандартным видеоэлементом. Если есть лучший способ воспроизведения защищенных авторизацией видео, мне было бы интересно его услышать, но остальная часть моего вопроса основана на этом подходе.

Я могу обновить предварительно подписанный URL-адрес по истечении срока его действия, но я не могу изменить атрибут src без того, чтобы элемент видео не думал, что я даю ему для загрузки совершенно новое видео. Есть ли способ изменить src, но указать, что новый URL-адрес указывает на тот же видеофайл?

Если это имеет значение, мне нужно изменить только строку запроса URL.

Этот вопрос касается практически идентичной проблемы, но предложенное решение (установка начального смещения видео перед перезагрузкой) меня не устраивает. Это по-прежнему требует перезагрузки видеофайла, и переход очень заметен.


person William Rosenbloom    schedule 01.05.2018    source источник
comment
Итак, подтверждаю... проблема в том, что вы хотите, чтобы видео было доступно отдельному зрителю в течение более длительного периода времени, чем время жизни подписанного URL... которое вы не хотите продлевать, потому что это увеличивает возможность несанкционированного обмена URL-адресом. Это правильно?   -  person Michael - sqlbot    schedule 01.05.2018
comment
@Michael-sqlbot Да, это действительно правильно. Но независимо от того, как долго я буду делать ссылки, срок их действия рано или поздно истечет. И я должен как-то справиться с этим.   -  person William Rosenbloom    schedule 02.05.2018
comment
Так это что-то вроде киоска/приборной панели/шаблона? Потому что в человеко-интерактивной среде вы обычно просто подписываете ссылки при рендеринге HTML. Подписанные файлы cookie CloudFront могут быть полезны в зависимости от необходимого уровня детализации, поскольку файлы cookie могут предоставить зрителю доступ к одному или нескольким объектам, поскольку они могут поддерживать * в пути, но они ограничены одним шаблоном пути. Или вы можете внедрить собственное решение для аутентификации на основе файлов cookie или строк запроса с помощью Lambda@Edge и удостоверения CloudFront Origin Access. Нужно немного больше подробностей о прецеденте.   -  person Michael - sqlbot    schedule 02.05.2018
comment
@Michael-sqlbot Вы знаете об AWS намного больше меня. Я знаком только с S3, RDS, IAM и Cognito. Буду очень признателен, если вы опубликуете ответ с альтернативой CloudFront. Вариант использования — безопасное хранение и просмотр личных медиафайлов.   -  person William Rosenbloom    schedule 04.05.2018