确切地知道转换视频的大小

时间:2013-05-28 01:42:41

标签: php algorithm math ffmpeg getid3

我正在尝试使用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 个答案:

答案 0 :(得分:0)

如果生成的文件大小与原始文件大小不同,那么我建议如下:

  • 通过转换几个文件来查找平均比率,并获得新旧文件大小之间的平均比率。

  • 通过将当前大小乘以计算百分比之前的比率来估算新文件大小。

  • 如果百分比计算的值大于100%,则使用100%。

出于心理原因,您可能希望使用比平均值更接近最大因子的比例因子。如果它在100%之前完成,你的程序会比在100%之前完成然后在那里呆一段时间感觉更快。