首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何为视频生成图像序列

如何为视频生成图像序列
EN

Stack Overflow用户
提问于 2014-05-19 17:16:58
回答 1查看 231关注 0票数 0

我想做一个简单的视频编辑器来创建一些图像的视频。它有一些变换效果,如运动,缩放,淡入淡出等。

我尝试使用ImageMagick创建每一帧的图像,并使用ffmpeg创建视频。

但是它的移动并不平稳,当它移动的时候看起来有点锯齿状。

例如,对于10s x 30fps的视频,需要300张图像。源图像应移动300px。

结果视频中的图像移动了1px到1px。

如何生成流畅运动效果的图像序列来制作视频?

EN

回答 1

Stack Overflow用户

发布于 2014-05-24 20:59:53

以下是我的代码的简要摘录。

代码语言:javascript
运行
复制
$fps = 30;
$duration = 5;
$y1 = 0; $y2 = 90;
$frames = $fps * $duration;
for ($i = 0; $i < $frames; $i++) {
    $y = $y1 + ($y2 - $y1) * $i / $frames;
    $im = new Imagick("1.png");
    $im->resizeImage(800, 600, imagick::FILTER_LANCZOS, 0.9, false); 
    $im->cropImage(640, 360, 0, $y);
    $im->setImagePage(640, 360, 0, 0);
    $im->writeImage(sprintf("tmp/%05d.jpg", $i + 1));
}

$cmd = sprintf("ffmpeg -f image2 -i %s/tmp/%%5d.jpg -r %d -pix_fmt yuv420p -y %s/tmp/result.mp4", dirname(__FILE__), $fps, dirname(__FILE__));
exec ($cmd);

这是我想要的视频和我制作的结果视频的链接。

我想要的示例视频:https://www.dropbox.com/s/p6ewanf3zfk1bd6/sample.mp4

我制作的结果视频:https://www.dropbox.com/s/4skvlbv8iwgyf1d/movie.mp4

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23733982

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档