Uruchom proces ffmpeg w tle
Chcę użyć ffmpeg do konwersji wideo do .flv w php. Obecnie mam to działa, ale zawiesza przeglądarkę do momentu przesłania pliku i zakończenia. Patrzyłem na dokumenty php, jak uruchomić proces exec () w tle, aktualizując proces przy użyciu zwróconego PID. Oto co znalazłem:
//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);
}
Istnieje również sztuczka, której używam do śledzenia, czy zadanie w tle działa przy użyciu zwróconego PID:
//Verifies if a process is running in linux
function is_process_running($PID)
{
exec("ps $PID", $ProcessState);
return(count($ProcessState) >= 2);
}
Czy mam utworzyć osobny plik .php, który następnie uruchamia się z php cli, aby wykonać jedną z tych funkcji? Potrzebuję tylko trochę kuksańca, żeby to zadziałało, a potem mogę to stamtąd wziąć.
Dzięki!