Processing 3用の簡単な動画作成サポートライブラリ"FrameRecorder"を公開しました。夏季休暇の自由研究です。
先日サイトのアナリティクスをGoogle アナリティクス4に移行したのでアナリティクスレポートをいつもよりすこし注意して見ていたところ、ProcessingライブラリVideo Exportを試すのアクセスがけっこうあることを確認、Processingでの動画作成サポートライブラリには需要があるとのことかと思いましたので、OneShotMovieWorkbenchであらかた作っていたものを切り出し、Javaに書き換えライブラリとして独立させてみました。
基本原理はVideo Exportと同じで、動画ファイルの生成にはFFmpegを使います。違いは、Video Exportが描画内容を都度動画ファイルに追加していくのに対し、FrameRecorderでは一度すべてを静止画として保存し最後に結合する点。静止画保存の際可能であれば非同期処理を行う点が作り手としてちょっと工夫したところですが、使う人にとってはあまり関係ありませんね。ともあれ一度保存することで描画への影響を最小限にとどめた点がVideo Exportより有利、逆にディスクの空き容量が余計に必要になる点が不利となります。あとFFmpegに対するこまかいオプション指定機能なども省略しています。追いこんだ指定をしたければ動画ファイルへの結合を行わずに静止画を処理すればよいので。
とまあp5.js用のp5MovRecなどと比較するといかにも旧態依然としたささやかなライブラリなのですが、こんなものでももしかしたら何かのお役に立つことがあるかもしれません。気になった方は使ってみていただければ幸いです。
なおはじめてProcessingのライブラリを作成するにあたってはprocessing-library-template-gradleとその紹介記事「Processingライブラリを簡単に作る」がたいへん参考になりました。記して感謝いたします。とはいえ設定がすこし古くなっていたので、 bundle.gradle
の次の点には手を加えています。
dependencies
のtestCompile
は最新のGradleでは使えなくなっていたのでtestImplementation
に変更- JavaDocの生成も可能に
- アセット作成も追加
というわけでGradleも地味に初使用でした。
2021-08-11(Wed)追記: 直前に公開されたProcessing 4.0 beta 1のリリースノートによるとThere's a new Movie Maker that creates MP4s and Animated GIFs!
とのこと。というわけで本ライブラリはProcessing 4リリースまでの短い命、Processing 3用ということでタイトルを変更しました。