Как работает фрагментация видео в браузере? - PullRequest
0 голосов
/ 10 марта 2019

Я пытаюсь защитить видео таким образом, чтобы оно могло воспроизводиться только авторизованными пользователями. Мое приложение использует аутентификацию на основе токенов. На этот раз решение с временными токенами не требуется. На сервере я реализовал потоковую передачу файлов, которая может отправлять определенный диапазон байтов, запрашиваемый клиентским скриптом. По сценарию JS я могу установить заголовок только тогда, когда видео начинает загружаться. При прокрутке в разные кадры браузер отправляет 204 частичных запроса, и заголовки вообще не контролируются. Которые приводят к несанкционированному запросу вызова.

enter image description here

Я смог реализовать решение MediaSource . Проблема начинается, когда я хочу пропустить предварительную загрузку видео, прежде чем оно может быть воспроизведено. Для достижения этого видео необходимо преобразовать в фрагментированный MPEG или использовать другие методы фрагментации, например HLS (обычно используется в потоковых платформах)

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

1 Ответ

0 голосов
/ 10 марта 2019

HLS имеет текстовый файл с именем манифеста, который содержит время и имя файла каждого сегмента.Плеер, такой как HLS.js или videojs, преобразует время в имя файла, используя манифест, и загружает правильный сегмент.

...