Добрый день! Есть небольшой сайт (крутится на сервере c nginx), который генерирует видео с помощью ffmpeg и отдает клиенту на скачивание.
Код:
header('Content-type: video/mp4');
$cmd = "ffmpeg -i file.mp4..."
$process = proc_open($cmd, $descriptorspec, $pipes, getcwd());
if (is_resource($process)) {
while(!feof($pipes[1])){
$chunk = fread($pipes[1], 500*1024);
$stdout_size += strlen($chunk);
if ($chunk !== false && !empty($chunk)){
echo $chunk;
if (ob_get_length()){
@ob_flush();
@flush();
@ob_end_flush();
}
}
}
}
Все это дело работает, но есть минус, заключается он в том, что когда 1 из клиентов скачивает видео, сайт недоступен (в браузере вечная загрузка). Как только клиент заканчивает качать видео, сайт снова становится доступным. Подскажите, пожалуйста, в чем может причина? И как можно решить данную проблему?