差分
このページの2つのバージョン間の差分を表示します。
両方とも前のリビジョン 前のリビジョン 次のリビジョン | 前のリビジョン | ||
processing:動画書出 [2018/10/19 11:33] – ↷ processing:動画を書き出す から processing:動画書出 へページを名称変更しました。 baba | processing:動画書出 [2020/06/16 10:37] (現在) – baba | ||
---|---|---|---|
行 1: | 行 1: | ||
- | https:// | + | ====== 画面のキャプチャ ====== |
+ | Processingにはデフォルトで連番画像を動画に変換する手法( | ||
+ | |||
+ | * macOS: https:// | ||
+ | * Windows10: https:// | ||
+ | |||
+ | ===== ちょっと手間だけど,授業取りまとめ用途 ===== | ||
+ | 上記のやり方でそのまま画面キャプチャしても動画は作成できますが,教員として学生が提出したプログラムを動画ファイル化 | ||
+ | する場合は結構手間です.そこで,指定された動画ファイルに自由にエフェクトを付与する課題をサンプルに一部自動化のためのメモを残します. | ||
+ | |||
+ | <WRAP center round important 60%> | ||
+ | まだうまく動作が確認できてないので,これは宿題です. | ||
+ | </ | ||
+ | |||
+ | 学生からは sample.mp4 を読み込んで,動画に対してエフェクトを掛ける課題を課したとします.機械的に動画ファイルを作成するため,まずはdraw()関数の最後に以下の記述を追加します.こうすると,動画ファイルの再生が終わったタイミングで自動でプログラムも終了してれます. | ||
+ | < | ||
+ | if ( movie.time() < movie.duration()) { | ||
+ | frameRate(30); | ||
+ | movie.noLoop(); | ||
+ | saveFrame(" | ||
+ | } else { | ||
+ | StringList strout=new StringList(); | ||
+ | StringList strerr=new StringList(); | ||
+ | |||
+ | String absolute_path_to_png = "/ | ||
+ | String absolute_path_to_mp4 = "/ | ||
+ | String filename_mp4 = " | ||
+ | String command_ffmpeg = | ||
+ | " | ||
+ | +absolute_path_to_png+ | ||
+ | "*.png -vcodec libx264 -pix_fmt yuv420p -r 30 " | ||
+ | +absolute_path_to_mp4+filename_mp4;// | ||
+ | |||
+ | print(command_ffmpeg); | ||
+ | |||
+ | // | ||
+ | |||
+ | exec(command_ffmpeg); | ||
+ | for (String el : strout) { | ||
+ | println(el); | ||
+ | } | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | for (String el : strerr) { | ||
+ | println(el); | ||
+ | } | ||
+ | exit(); | ||
+ | } | ||
+ | </ |