processing:動画書出

差分

このページの2つのバージョン間の差分を表示します。

この比較画面へのリンク

両方とも前のリビジョン 前のリビジョン
processing:動画書出 [2019/11/12 00:03] babaprocessing:動画書出 [2020/06/16 10:37] (現在) baba
行 4: 行 4:
   * macOS: https://support.apple.com/ja-jp/HT208721   * macOS: https://support.apple.com/ja-jp/HT208721
   * Windows10: https://www.pasoble.jp/windows/10/screen-capture.html   * Windows10: https://www.pasoble.jp/windows/10/screen-capture.html
 +
 +===== ちょっと手間だけど,授業取りまとめ用途 =====
 +上記のやり方でそのまま画面キャプチャしても動画は作成できますが,教員として学生が提出したプログラムを動画ファイル化
 +する場合は結構手間です.そこで,指定された動画ファイルに自由にエフェクトを付与する課題をサンプルに一部自動化のためのメモを残します.
 +
 +<WRAP center round important 60%>
 +まだうまく動作が確認できてないので,これは宿題です.
 +</WRAP>
 +
 +学生からは sample.mp4 を読み込んで,動画に対してエフェクトを掛ける課題を課したとします.機械的に動画ファイルを作成するため,まずはdraw()関数の最後に以下の記述を追加します.こうすると,動画ファイルの再生が終わったタイミングで自動でプログラムも終了してれます.
 +<code>
 +  if ( movie.time() < movie.duration()) {
 +    frameRate(30);
 +    movie.noLoop();
 +    saveFrame("frames/####.png");
 +  } else {
 +    StringList strout=new StringList(); //出力が入る変数
 +    StringList strerr=new StringList(); //エラーが入る変数
 +
 +    String absolute_path_to_png = "/Users/baba/Desktop/gomi/frames/";
 +    String absolute_path_to_mp4 = "/Users/baba/Desktop/gomi/";
 +    String filename_mp4 = "output.mp4";
 +    String command_ffmpeg = 
 +      "ffmpeg -i "
 +      +absolute_path_to_png+
 +      "*.png -vcodec libx264 -pix_fmt yuv420p -r 30 "
 +      +absolute_path_to_mp4+filename_mp4;//+";rm "+absolute_path_to_png+"*.png";
 +
 +    print(command_ffmpeg);
 +
 +    //shell(strout, strerr, command_ffmpeg); //三つ目の引数に実行したいコマンドを入力する
 +    
 +    exec(command_ffmpeg);
 +    for (String el : strout) {
 +      println(el);
 +    }
 +    
 +    
 +   
 +
 +    for (String el : strerr) {
 +      println(el);
 +    }
 +    exit();
 +  }
 +</code>
  • /home/users/2/lolipop.jp-4404d470cd64c603/web/ws/data/pages/processing/動画書出.txt
  • 最終更新: 2020/06/16 10:37
  • by baba