我正在尝试使用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")
但由于我的逻辑不起作用,每个视频都是不同的值,有可能做这个计算吗?
答案 0 :(得分:0)
如果生成的文件大小与原始文件大小不同,那么我建议如下:
通过转换几个文件来查找平均比率,并获得新旧文件大小之间的平均比率。
通过将当前大小乘以计算百分比之前的比率来估算新文件大小。
如果百分比计算的值大于100%,则使用100%。
出于心理原因,您可能希望使用比平均值更接近最大因子的比例因子。如果它在100%之前完成,你的程序会比在100%之前完成然后在那里呆一段时间感觉更快。