1

我想知道使用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")

但是按我的逻辑是行不通的,每个视频都是不同的值,可以这样计算吗?

4

1 回答 1

0

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

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

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

  • 如果百分比计算给出的值 >100%,则使用 100%。

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

于 2013-05-28T09:21:02.433 回答