Индикатор выполнения ffmpeg -Процент кодирования в PHP

Я написал целую систему на PHP и bash на сервере для конвертации и потоковой передачи видео в HTML5 на своем VPS. Преобразование выполняется ffmpeg в фоновом режиме, и содержимое выводится в block.txt .

Посмотрев следующие посты:

Может ли ffmpeg показывать индикатор выполнения?

и

Индикатор выполнения кодирования видео ffmpeg

среди прочего, я не могу найти рабочий пример.

Мне нужно получить текущий закодированный прогресс в процентах.

Первый пост, на который я ссылался выше, дает:

$log = @file_get_contents('block.txt');

preg_match("/Duration:([^,]+)/", $log, $matches);
list($hours,$minutes,$seconds,$mili) = split(":",$matches[1]);
$seconds = (($hours * 3600) + ($minutes * 60) + $seconds);
$seconds = round($seconds);

$page = join("",file("$txt"));
$kw = explode("time=", $page);
$last = array_pop($kw);
$values = explode(' ', $last);
$curTime = round($values[0]);
$percent_extracted = round((($curTime * 100)/($seconds)));

echo $percent_extracted;

Извлеченная переменная $percent _повторяет ноль, и, поскольку математика не является моей сильной стороной, я действительно не знаю, как здесь продвинуться.

Вот одна строка из вывода ffmpeg из block.txt (, если это полезно)

time=00:19:25.16 bitrate= 823.0kbits/s frame=27963 fps= 7 q=0.0 size= 117085kB time=00:19:25.33 bitrate= 823.1kbits/s frame=27967 fps= 7 q=0.0 size= 117085kB time=00:19:25.49 bitrate= 823.0kbits/s frame=27971 fps= 7 q=0.0 size= 117126kB

Пожалуйста, помогите мне вывести этот процент, как только я закончу, я смогу создать свой собственный индикатор выполнения. Спасибо.

21
задан Community 23 May 2017 в 12:02
поделиться