ffmpeg процент конветнирования

Печать RSS
289

J
Автор
Оранжевые штаны
0
подскажите куда копать? как вывести % выполнения ffmpeg?

Пришелец
0
Такой возможности в ffmpeg вроде не было, но если можно сделать, например, если разделить duration на текущий time и умножить на 100 соотвественно.
I

Пришелец
0
Копать нужно в сторону пропорций и размера файла.
J
Автор
Оранжевые штаны
0
сделал выполнение с записью вывода 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');
Изменил: JustZero (26.04.2015 / 22:43)
Стикеры / Теги / Правила / Топ тем / Топ постов / Поиск