Запустите процесс ffmpeg в фоновом режиме
Я хочу использовать ffmpeg для преобразования видео в .flv в php. В настоящее время у меня это работает, но браузер зависает, пока файл не загружен и не закончен. Я смотрел на php docs о том, как запустить процесс exec () в фоновом режиме, при обновлении процесса с использованием возвращенного PID. Вот что я нашел:
//Run linux command in background and return the PID created by the OS
function run_in_background($Command, $Priority = 0)
{
if($Priority)
$PID = shell_exec("nohup nice -n $Priority $Command > /dev/null & echo $!");
else
$PID = shell_exec("nohup $Command > /dev/null & echo $!");
return($PID);
}
Есть также трюк, который я использую для отслеживания, если фоновая задача выполняется с использованием возвращенного PID:
//Verifies if a process is running in linux
function is_process_running($PID)
{
exec("ps $PID", $ProcessState);
return(count($ProcessState) >= 2);
}
Предполагается ли создать отдельный файл .php, который затем запускается из php cli для выполнения одной из этих функций? Мне просто нужно немного подтолкнуть, чтобы заставить это работать, а затем я могу взять это оттуда.
Спасибо!