Точно знать размер конвертированного видео

Я пытаюсь узнать размер более точно конвертированного видео с помощью ffmpeg, я получаю фактический размер исходного видео и выходного видео и делю размер на 2, логика, когда я получаю размер другого видео, умножит значение знать результат.

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

<?
$total = $select_result;// total original file
$video = 'test.mp4';


//loop ajax
$getID3 = new getID3;
$file = $getID3->analyze($video);
$current = $file['filesize'];


$a = $total / $current;
$b = $a * 100;
print number_format($b,0).'%';
?>

Команда ffmpeg всегда будет такой

exec("ffmpeg -i $video -ar 22050 -ab 32 -f mp4 -s 320x240 teste1.mp4")

но по моей логике не работает, у каждого видео разное значение, можно сделать этот расчет?

1 ответ

Если полученный размер файла отличается от исходного, то я рекомендую следующее:

  • Найти среднее соотношение путем преобразования пары файлов и получить среднее соотношение между новым и старым размером файла.

  • Оцените новый размер файла, умножив текущий размер на коэффициент, прежде чем рассчитывать процент.

  • Если процентный расчет дает значение>100%, используйте 100%.

По психологическим причинам вы можете использовать коэффициент масштабирования ближе к максимальному коэффициенту, чем к среднему. Ваша программа будет чувствовать себя быстрее, если она завершится до 100%, чем если она достигнет 100%, а затем останется там некоторое время.

Другие вопросы по тегам