【问题标题】:How to generate the images sequence for video如何为视频生成图像序列
【发布时间】:2014-07-07 04:35:16
【问题描述】:

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

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

但它移动不顺畅,移动时似乎有点锯齿状。

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

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

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

【问题讨论】:

  • 请出示您的代码。
  • 请显示您的代码并显示示例

标签: image video image-processing ffmpeg imagemagick


【解决方案1】:

这是我的代码的简短摘录。

$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

【讨论】:

    猜你喜欢
    • 2012-05-18
    • 1970-01-01
    • 2011-05-20
    • 2015-04-27
    • 2019-08-14
    • 2012-05-16
    • 1970-01-01
    • 2019-12-08
    • 1970-01-01
    相关资源
    最近更新 更多