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