Reaper で動画を編集できると言う事を知り操作してみました
いきさつ
いつもは「AviUtil」ってプログラムを利用して動画編集してるんですけど、「割と簡単」シリーズは
- 曲名を入れる
- 映像イン・アウトをフェード
と言うだけの操作なので、何とかならないかと思ったんです
これまでは、映像はスマホで、音声は Reaper で録音して、その後「AviUtil」で合成してたので、「映像」と「音声」のタイミングを合わせないといけないわけですよ
それ程手間ではないんですけど、ちょい面倒ですよね
録画時は「iVCam」と言うアプリでスマホの画面をパソコンに転送し、同アプリ内の設定で音声入力をUA-25EX (オーディオインターフェイス)にすれば、パソコンで「スマホ映像」と「UA-25EX 経由の音声」を画像データに出来るんです
出来た動画の音声を「Reaper」で編集すれば、「映像」と「音声」のタイミング合わせ」は不要になるし、ファイルの数も無駄に増えないですもんね
何をしたか
これらの操作をするに当たって Reaper 内で以下の事を行いました
- 曲名を入れるために、「動画プロセッサ」の「Text/timecode overlay」を改造
- 書き出した動画が、すごく荒れていたので「音声ファイルにレンダリング」画面の Video のビットレートを変更
「動画プロセッサ」の「Text/timecode overlay」を改造
Reaper 「動画プロセッサ」内の「Text/timecode overlay」は、テキストサイズや明るさ、その他いろいろ設定できるんですけど、自分にとって不要な機能もあります
これらを削って以下の事が出来るようにしました
- テキストのサイズ、色、透明度が設定できる
- 背景枠の幅・高さ、色、透明度が設定できる
- 背景枠の周りにボーダーラインをつける
ボーダーラインはサイズ、色、透明度が設定できる
できあがったスクリプトがこちら
テキストは画面比で計算させていますが、その他は絶対値です
面倒くさかったので「まぁ、いっか」って感じです
//● Text overlay #Text="曲のタイトル 2行目 3行目"; Font="meiryo"; //● パラメーター //@param1:Tsize 'Text Size' 0.05 0.01 1 0.5 0.001 //@param2:posX 'X' 0 0 1 0.5 0.001 //@param3:posY 'Y' 0 0 1 0.5 0.001 //@param5:TR 'Text R' 1 0 1 0.5 0.01 //@param6:TG 'Text G' 1 0 1 0.5 0.01 //@param7:TB 'Text B' 1 0 1 0.5 0.01 //@param8:Ta 'Text Alpha' 1 0 1 0.5 0.01 //@param10:BGR 'BackGround R' 0 0 1 0.5 0.01 //@param11:BGG 'BackGround G' 0 0 1 0.5 0.01 //@param12:BGB 'BackGround B' 1 0 1 0.5 0.01 //@param13:BGa 'BackGround Alpha' 0.3 0 1 0.5 0.01 //@param15:Pad_w 'Padding width' 5 0 100 50 1 //@param16:Pad_h 'Padding height' 5 0 100 50 1 //@param18:BLR 'BorderLine R' 1 0 1 0.5 0.01 //@param19:BLG 'BorderLine G' 1 0 1 0.5 0.01 //@param20:BLB 'BorderLine B' 1 0 1 0.5 0.01 //@param21:BLa 'BorderLine Alpha' 1 0 1 0.5 0.01 //@param22:BL_w 'BorderLine Width' 5 0 100 50 0.5 gfx_blit(0,1); gfx_setfont(Tsize*project_h,Font); //●#Textが空白の時には「テイク名」を代入 strcmp(#Text,"")==0 ? input_get_name(-1,#Text); //●テキストの描画位置を計算 gfx_str_measure(#Text,txt_w,txt_h);//テキストの幅と高さ pos_x = (posX * (project_w - txt_w))|0; pos_y = (posY * (project_h - txt_h))|0; //●背景枠の描画位置を計算 bg_x = pos_x - Pad_w; bg_y = pos_y - Pad_h; bg_w = txt_w + Pad_w *2; bg_h = txt_h + Pad_h *2; //●ボーダーラインの描画位置を計算 //上側 bl_t_x = bg_x - BL_w; bl_t_y = bg_y - BL_w; bl_t_w = bg_w + (BL_w * 2); bl_t_h = BL_w; //下側 bl_b_x = bg_x - BL_w; bl_b_y = bg_y + bg_h; bl_b_w = bg_w + (BL_w * 2); bl_b_h = BL_w; //左側 bl_l_x = bg_x - BL_w; bl_l_y = bg_y; bl_l_w = BL_w; bl_l_h = bg_h; //右側 bl_r_x = bg_x + bg_w; bl_r_y = bg_y; bl_r_w = BL_w; bl_r_h = bg_h; //●描画 //ボーダーライン gfx_set(BLR,BLG,BLB,BLa); gfx_fillrect (bl_t_x,bl_t_y,bl_t_w,bl_t_h); gfx_fillrect (bl_b_x,bl_b_y,bl_b_w,bl_b_h); gfx_fillrect (bl_l_x,bl_l_y,bl_l_w,bl_l_h); gfx_fillrect (bl_r_x,bl_r_y,bl_r_w,bl_r_h); //背景枠 gfx_set(BGR,BGG,BGB,BGa); gfx_fillrect (bg_x,bg_y,bg_w,bg_h); //テキスト gfx_set(TR,TG,TB,Ta); gfx_str_draw(#Text,pos_x,pos_y);
動画の書き出しについて
スクリプトが出来たので、動画を描き出してみたら…なんと画質の悪い事
今までの動画はこの位の画質だったのに…泣
これに関しては「音声ファイルにレンダリング」画面の「Video のビットレート」を変更すればいいです
僕は今まで「AviUtil」で作った動画を参考にして「12,000 kbps」に設定しました
これにて解決!!
完成動画
動画をアップロードしたので、参考までに貼り付けておきます
コメント