動画のカット編集を高速化・自動化する方法【PremierePro/Python(PyAutoGUI)】

ブログ

みなさんこんにちは!クフルダモ・ノーツキムラ ヨシト(k1mu)です!

 

カット編集を自動化・高速化するアイデアをシェアしたいと思います。

Vrewを使う

Vrew - 自動字幕で楽しむ動画編集
VrewはAIを活用した動画編集ソフトです。新しい感覚の動画編集を今すぐ体験してみてください。

フリーの動画編集ソフト。

無音区間の短縮“を使えば、自動で無音部分をカットしてくれます。

さらに、”字幕の自動生成“も可能で「めっちゃ便利!」と思いきや…

  • 細かい編集機能は充実していない。
  • 書き出しに時間がかかる。

現時点では実用的とは言い難いと思います…。

早くPremiereProにも、”無音区間の短縮“や”字幕の自動生成“みたいな機能を導入して欲しい…。(まだ無いですよね?)

動画を読み込んで無音部分をカットする

動画編集(ジャンプカット)を自動化してみた! - Qiita
参考にさせていただいた記事 この記事を参考にさせていただきました。 やったこと YouTube動画の編集手法の一つで...

プログラミング言語を使って、自動で無音部分をカットさせる方法。

大量のファイルのカットを完全に自動化できる部分が魅力です。

しかし…

  • 毎回カットするためのパラメーターを調節する必要がある。
  • カットした部分を後で微調整できない。(破壊編集になるため)
  • 書き出しに時間がかかる。
  • 思い通りの結果にならなかった場合は、逆に時間がかかる。

こちらもあまり実用的ではないと思います。

ショートカットキーを使う

結局、ベタですけどショートカットキーを使うのが一番ラクに時短できる気がします。

こちらの動画は分かりやすいと思います。

特に、以下のショートカットキーは、使いやすい場所に割り当てておくと良いと思います。

  • 編集点をすべてのトラックに追加
  • 前の編集点を再生ヘッドまでリップルトリミング
  • ズームイン・ズームアウト
  • リップル削除
  • 複数フレーム前へ戻る・複数フレーム先に進む
  • ギャップを詰める

ショートカットキーの設定は、編集→キーボードショートカットもしくは「Ctrl+/」で開けます。

PyAutoGUIを使う

最後に、PyAutoGUIを使ってショートカットキーの動作を自動化するアイデアを紹介します。

場合によっては、かなり時短になると思います。

PyAutoGUIは、Pythonで簡単に自動化プログラムを書けるライブラリです。

Welcome to PyAutoGUI’s documentation! — PyAutoGUI documentation

今回紹介するやり方

まずは、カットしたい部分の前後に手動でマーカーを追加していきます。
(デフォルトのショートカットキーはMのはず)

緑の五角形がマーカー

手動とはいえ、カットしたい動画を選択して、再生しながらタイミングよくMキーを押していくだけなので、比較的ラクなはずです。(ミスったところは停止して直せばいいわけですし。)

 

さて。マーカーを追加したら、マーカーを起点に

インをマーク → アウトをマーク → リップル削除

の流れを繰り返せば、カット編集できる状態になります。

この一連の流れをPyAutoGUIで自動化します。

すると、こんな感じでマーカーを起点にバシバシと自動でカットしてくれます。

具体的な使い方

Pythonの環境構築

Pythonの環境構築がまだの方は、こちらを参考にしてください。

Pythonの開発環境を用意しよう!(Windows)
Progateはオンラインでプログラミングを学べるサービスです。プログラミングを学んでWEBアプリケーションを作ろう。
PyAutoGUIをインストールする

pipコマンドでインストールします。

! pip install pyautogui
ソースコード

大雑把に説明すると

変数loopに繰り返したい数を入れて、一連の

インをマーク → アウトをマーク → リップル削除

を割り当てたショートカットキーの操作をfor文で回します。

import pyautogui
import time

# ------------------
loop = 10  # ループ回数を設定する

# ------------------
time.sleep(5)  # 実行するまでの猶予時間
x, y = pyautogui.position()  # マウスポインターの座標を取得
pyautogui.click(x, y, 1, 0, 'left')  # タイムラインの適当な座標をクリックする

for i in range(loop):
    pyautogui.hotkey('shift', 'm')  # 次のマーカーへ
    pyautogui.keyDown('i')  # インをマーク
    pyautogui.hotkey('shift', 'm')  # 次のマーカーへ
    pyautogui.keyDown('o')  # アウトをマーク
    pyautogui.click(x, y, 1, 0, 'left')  # タイムラインの適当な座標をクリックする
    pyautogui.keyDown('p')  # リップル削除

アウトをマークした後、そのままリップル削除を実行するとクリップを全部削除してしまいます。
そのため、スクリプトを開始した時点のマウスポインターの座標をクリックする動作を挟んでいます。

実行までの猶予時間(5秒)の間に、マウスポインターをPremiere Proの編集タイムラインの適当な座標まで移動させて使ってください。

さいごに

PyAutoGUIは、今回紹介した方法以外でも、アイデア次第で色々な自動化ができるはずです。

使ってみてはいかがでしょうか?(๑˃̵ᴗ˂̵)و

タイトルとURLをコピーしました