我有很多存储在服务器上的图像,并且在MySQL数据库中有一个引用,这样我就可以轻松地从特定的日期/时间查询图像。计算要移除的帧以获得所需长度的timelapse
以7张图像/小时的间隔拍摄图像。
比方说,我想创建一个从过去4天的过程,并制作5秒的电影。我如何计算如何均匀地放下帧以达到5秒所需的长度?
这就是我到目前为止。
图像总数:4天* 24小时* 7张图片/小时= 672个图像 以24fps需要的图像:24 * 5 = 120图像
除以与所需要的图像的总图像以找出哪些/每帧i需要保持
672/120 = 5.6
然后i循环槽672个的所有图像,并且每第5或第6时刻i存储在数组中的图像的参考。
这是我的问题。如果我收起来,我得到的视频比我想要的要长,如果我下来,我会看到一段视频短一些。
如果我保持每第五图像循环时:134个图像/ 24帧= 5.6秒视频 如果我保持每第六图像循环时:112个图像/ 24帧= 4.6秒视频
是否有可能变得更好,仍然均匀地跳过图像?
解决了这个使用xxfelixxx的答案PHP 继承人的代码PHP:
$start = 1;
$stop = 672; // Total Images
$dur = 5; // Video Duration
$n = 24 * $dur; // Required frames - 24 FPS * Duration
$next = $start;
$step = ($stop - $start)/$n;
$frames = array();
for ($i = 1; $i <= $n; $i++) {
$frames[] = round($next);
$next += $step;
};
var_dump($frames);
非常感谢!这在PHP中完全使用相同的方法。 –