Разрешить потоковую передачу большого видеофайла аутентифицированным пользователям с помощью PHP - PullRequest
0 голосов
/ 12 октября 2018

У меня есть видео 4 ГБ .mp4, которое мне нужно, чтобы разрешить пользователям, прошедшим проверку подлинности, передавать потоковое видео.

У меня есть видео в каталоге, защищенном с помощью .htaccess, например:

Deny from all

Когда пользователь запрашивает доступ к видео, я использую сценарий PHP для проверки подлинности, а затем отправляю видео следующим образом:

<?php

        header('Content-Type: video/mp4');
        header('Content-Disposition: inline; filename="' . $video . '.mp4"');
        header('Transfer-Encoding: binary');
        header('Expires: 0');
        header('Cache-Control: must-revalidate');
        ob_clean();
        $wasdownloaded = readfile('video/' . $video . '.mp4');
        if ($wasdownloaded===true){
            Flush();
        }

?>

Я использую Floatbox.js , который построил-в (и просто) возможность потокового видео.Однако я не привязан к этому.

Я обнаружил, что могу транслировать 1-3 минуты видео до истечения времени ожидания, даже при хорошем соединении.Я бы подумал, что есть несколько потенциальных узких мест, и не уверен, с чего начать:

  • Способна ли в PHP технология readfile обрабатывать видео 4 ГБ?Это определенно работает, чтобы начать, но, возможно, это слишком много для сервера, особенно если видео помещается в память во время потоковой передачи?
  • Нужна ли более совершенная потоковая программная платформа?Floatbox.js прекрасно работает для небольших видео или встраиваний YouTube, но он не предназначен в первую очередь для потоковой передачи видео.
  • Нужно ли обращаться к стороннему поставщику (Vimeo и т. Д.) Для обработки потоковой передачи, сжатия и т. Д..?Проблема здесь в том, что я не знаю, могу ли я так же легко аутентифицировать пользователей.
...