У меня есть видео 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 и т. Д.) Для обработки потоковой передачи, сжатия и т. Д..?Проблема здесь в том, что я не знаю, могу ли я так же легко аутентифицировать пользователей.