Reaper で動画編集

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);

動画の書き出しについて

スクリプトが出来たので、動画を描き出してみたら…なんと画質の悪い事

Reaper動画 2048 kbps

今までの動画はこの位の画質だったのに…泣

Reaper動画 12000 kbps

これに関しては「音声ファイルにレンダリング」画面の「Video のビットレート」を変更すればいいです
僕は今まで「AviUtil」で作った動画を参考にして「12,000 kbps」に設定しました

Reaper 動画作成ビットレート

これにて解決!!

完成動画

動画をアップロードしたので、参考までに貼り付けておきます

コメント