我试图知道使用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")
但我的逻辑不起作用,每个视频是一个不同的值,它是可以做这个计算吗?
如果生成的文件大小与原始文件大小不同,那么我建议如下:
-
通过转换几个文件,得到新旧文件大小的平均比率
-
估算新文件大小,在进行百分比计算之前将当前大小与比率相乘。
-
如果百分比计算给出的值>100%,则使用100%
出于心理原因,您可能希望使用比平均值更接近最大因子的比例因子。如果你的程序在100%之前完成,你会觉得它比在100%之前停留一段时间更快。