1.前言
Processing 作为一款创意编程工具,不仅可以很方便的用来控制视频,比如用来 控制播放透明通道的视频,也可以用它来编写一些酷炫的效果,然后通过程序生成视频。
Processing 生成视频或者说录制视频,目前主要有两种方式,下面谈谈两种方式的使用方法及区别。
2.视频导出方式
a.使用 Movie Maker 导出
Movie Maker 是 Processing IDE 自带的一个视频合成工具,可以根据需要设置序列帧图片以及音频,然后生成视频。
优点
- 有操作界面、使用简单,是一个独立的工具软件。
缺点
- 没有提供相关接口,不能在 Processing 程序中集成开发。
使用步骤
需要提供序列帧图片。在 Processing 中用自带导出图片的 API 生成序列帧图片:
saveFrame(); //保存序列帧图片
有了序列帧图片就可以打开 Processing -> 工具 -> Movie Maker,然后根据文字介绍操作。
b.使用 VideoExport 导出
VideoExport 是 Processing 的一个第三方库,下载后放入相应位置即可使用。
优点
- 可以方便的在程序中集成开发,可以根据需求灵活的控制导出时机和时长。
缺点
- 依赖 ffmpeg,所以使用前需要先安装。
步骤
import com.hamoid.*; VideoExport videoExport; // demo,录制会自动结束 float movieFPS = 30; float soundDuration = 10.03; // in seconds void setup() { size(600, 600); videoExport = new VideoExport(this); videoExport.setFrameRate(movieFPS); videoExport.setAudioFileName("test-sound.mp3"); videoExport.startMovie(); } void draw() { background(#888888); rect(frameCount * frameCount % width, 0, 40, height); videoExport.saveFrame(); if(frameCount > round(movieFPS * soundDuration)) { videoExport.endMovie(); exit(); } }
3.小结
工具/库 | 优点 | 缺点 |
---|---|---|
Movie Maker | 有操作界面、使用简单,是一个独立的工具软件。 | 没有提供相关接口,不能在 Processing 程序中集成开发。 |
VideoExport | 可以方便的在程序中集成开发,可以根据需求灵活的控制导出时机和时长。 | 使用前需要先安装 [ffmpeg](http://ffmpeg.org/)。 |
通过表格比较可以很清楚的得知两种方式的使用场景并不一样,并不能互相取代,而是一种互补的关系。因此具体选择哪一个使用,完全可以根据业务需求来定。