ffmpeg процент конветнирования
1.
JustZero (18.10.2014 / 03:52)
подскажите куда копать? как вывести % выполнения ffmpeg?
2.
CyRaXMAN (18.10.2014 / 07:44)
Такой возможности в ffmpeg вроде не было, но если можно сделать, например, если разделить duration на текущий time и умножить на 100 соотвественно.
3.
iNeeXT (18.10.2014 / 13:34)
Копать нужно в сторону пропорций и размера файла.
4.
JustZero (26.04.2015 / 22:40)
сделал выполнение с записью вывода ffmpeg в файл и потом по логу через php вывод %.
функция
<?php
function ffmpeg_progress($log)
{
$content = @file_get_contents($log);
$progress = 0;
if ($content) {
preg_match("/Duration: (.*?), start:/", $content, $matches);
$rawDuration = $matches[1];
$ar = array_reverse(explode(":", $rawDuration));
$duration = floatval($ar[0]);
if (!empty($ar[1])) $duration += intval($ar[1]) * 60;
if (!empty($ar[2])) $duration += intval($ar[2]) * 60 * 60;
preg_match_all("/time=(.*?) bitrate/", $content, $matches);
$rawTime = array_pop($matches);
if (is_array($rawTime)) {
$rawTime = array_pop($rawTime);
}
$ar = array_reverse(explode(":", $rawTime));
$time = floatval($ar[0]);
if (!empty($ar[1])) $time += intval($ar[1]) * 60;
if (!empty($ar[2])) $time += intval($ar[2]) * 60 * 60;
$progress = @round(($time / $duration) * 100);
}
return $progress;
}
запуск ffmpeg
<?php
exec('ffmpeg параметры...... 1> файл.log 2>&1');
URL:
https://visavi.net/topics/41447