Я вызываю этот скрипт по HTTP, позже это будет сделано с помощью php-cli. Первое кодирование видео я получаю правильную длительность, и правильные данные вводятся в БД, но когда скрипт получает второе видео, все работает, только продолжительность неправильная, получает данные из последней вставки, если я сбрасываю переменные, я получаю эту ошибку
PHP Notice: Undefined variable: duration
и я знаю, что это бесконечный цикл, у меня также есть команда sleep в скрипте, чтобы db не вызывался все время. Как я могу заставить его работать, что $ duration получает реальное значение. Первый процесс работает, второй работает, кроме продолжительности.
Сейчас я работаю на Windows LAMP, пока не тестировал скрипт на centos
while(10) {
// GET DATA FROM DB
// CHECK STATUS
if($check == true) {
exec("$mencoder $temp_upload_dir$post_filename -o $temp_upload_dir$r_post_id.mp4 2>&1", $output);
foreach($output as $error) {
if(preg_match('/============ Sorry, this file format is not recognized\/supported =============/', $error)) {
$error1 = "error";
break;
}
}
if(!isset($error1)) {
exec("$mp4box $temp_upload_dir$r_post_id.mp4");
exec($mplayer . " " . $temp_upload_dir . $r_post_id . ".mp4 2>&1", $video);
foreach($video as $vidlenght) {
if(preg_match('/ID_LENGTH=/', $vidlenght)) {
$duration = $vidlenght;
$duration = explode("=",$duration);
$duration = $duration['1'];
break;
}
}
// MOVE FILES
// UPDATE DB
}
}