如何编写脚本从一组图像创建电影?

9 投票
3 回答
15436 浏览
提问于 2025-04-15 12:01

我用Python成功加载了一组图片。

我希望我的脚本能够把这些图片(无论是什么格式)制作成一个视频。这里最大的限制是,我希望能找到一个简单易安装的工具。理想情况下,能按照标准的OS X安装步骤来操作:

  • 下载.dmg文件
  • 点击打开
  • 移动到应用程序文件夹

我不想花太多时间去安装视频编辑软件,只想要一个简单有效的工具。


问题

  1. 我应该选择什么格式?我需要我的视频能在Linux、Mac和Windows系统上播放。这些图片是图表,所以是离散的图像,而不是照片。压缩应该比较简单。总共有大约1000张图片,所以这将是一个短片。

  2. 我应该使用什么工具来制作视频?我需要直接从Python中使用一个专门为此设计的库,或者通过Python调用命令行工具来实现。

3 个回答

4

你一定要用Python吗?其实还有其他专门为这些目的开发的工具。例如,你可以使用 ffmpeg 或 mencoder

9

你可以使用OpenCV这个工具。它可以在Mac上安装。而且,它还有一个Python接口,方便你用Python来操作。

我稍微修改了一下从这里找到的一个程序,但我不知道它能否编译,也无法检查。

import opencv
from opencv.cv import *
from opencv.highgui import *

isColor = 1
fps     = 25  # or 30, frames per second
frameW  = 256 # images width
frameH  = 256 # images height
writer = cvCreateVideoWriter("video.avi",-1, 
fps,cvSize(frameW,frameH),isColor)

#-----------------------------
#Writing the video file:
#-----------------------------

nFrames = 70; #number of frames
for i in range(nFrames):
    img = cvLoadImage("image_number_%d.png"%i) #specify filename and the extension
     # add the frame to the video
    cvWriteFrame(writer,img)

cvReleaseVideoWriter(writer) #
21

如果你不介意使用命令行的话,可以试试ImageMagick这个软件包里的convert命令。它适用于Mac、Linux和Windows系统。你可以在这里找到更多信息:http://www.imagemagick.org/script/index.php.

这个命令支持很多种图片格式,你可以把你的电影输出为mpeg文件:

convert -quality 100 *.png outvideo.mpeg

或者输出为动画gif,方便上传到网页上:

convert -set delay 3 -loop 0 -scale 50% *.png animation.gif

关于convert命令的更多选项,可以在这里查看:ImageMagick v6 示例 - 动画基础

撰写回答