PythonとOpenCVで動画を自動トリミング|簡単に映像を編集する方法

最近、動画編集の仕事が増えてきたんですけど、手間がかかって大変なんです…。Pythonか何かで自動化できないかなぁ…。
猫男
猫男
catman
catman
それならPythonOpenCVを使って動画をトリミングしてみよう。自動化すれば作業がぐっと楽になるんだ。

 

PythonとOpenCVで動画をトリミングする方法

PythonとOpenCVを活用することで、動画を自動でトリミングすることが可能です。動画編集ツールを使わずにコードで手軽に精密な編集を実現できます。

動画の最初や最後の不要な部分をカットしたり、特定のシーンだけを抽出したりすることも可能です。

 

初めにPythonとOpenCVを準備する

まずはPythonとOpenCVの環境を整えます。pipを用いてOpenCVをインストールします。


pip install opencv-python

無事にインストールできたら、次のステップに進みましょう。

 

動画をトリミングしてみよう

実際に、PythonとOpenCVで動画を自動トリミングしてみましょう。

 

Pythonコード

以下のコードは、動画の特定の秒数間を抽出して新しい動画を作成する例です。


import cv2

def trim_video(input_path, output_path, start_time, end_time):
    cap = cv2.VideoCapture(input_path)
    fourcc = cv2.VideoWriter_fourcc(*'mp4v')
    fps = cap.get(cv2.CAP_PROP_FPS)
    width = int(cap.get(cv2.CAP_PROP_FRAME_WIDTH))
    height = int(cap.get(cv2.CAP_PROP_FRAME_HEIGHT))

    out = cv2.VideoWriter(output_path, fourcc, fps, (width, height))

    start_frame = int(start_time * fps)
    end_frame = int(end_time * fps)

    current_frame = 0
    while cap.isOpened():
        ret, frame = cap.read()
        if not ret or current_frame > end_frame:
            break
        if current_frame >= start_frame:
            out.write(frame)
        current_frame += 1

    cap.release()
    out.release()

input_video = "input.mp4"
output_video = "trimmed_output.mp4"
trim_video(input_video, output_video, start_time=5, end_time=10)

このコードを使用すると、指定した開始時間から終了時間の間のフレームだけを抽出した動画が作成されます。

 

コードの解説

cv2.VideoCapture: 動画ファイルを読み込むためのクラスです。
cv2.VideoWriter: 新しい動画ファイルを保存するためのクラスです。
fps: フレーム毎秒 (frames per second) を計算し、動画のスムーズさを制御します。
fourcc: 動画のエンコーディング形式を指定します。ここでは ‘mp4v’ を使用しています。
start_frameend_frame: トリミングする開始と終了のフレーム番号を計算します。

 

動画トリミングの効果

動画編集を自動化できることで、作業時間が大幅に短縮されます。特に、特定のシーンを複数のファイルから定期的に抽出したい場合に便利です。

 

ほかの動画でも同じ作業を自動でできたら、本当に助かります!PythonとOpenCV、すごいですね。
猫男
猫男
catman
catman
そうさ。自動化への道はひらけたよう。まずは基本的なトリミングから始め、さらに応用できるように学んでいくといいよう。

 

まとめ

この記事では、PythonとOpenCVを用いて動画を自動トリミングする方法を紹介しました。

  • PythonとOpenCVは強力な動画編集の自動化ツールです。
  • 特定のシーンをプログラムで抽出することが可能です。
  • トリミングするだけでなく、さらなる編集タスクの自動化も期待できます。

IT業界でも、ますます効率化が求められています。動画の自動編集スキルを習得することで、さまざまなクリエイティブ作業を一段とスムーズに行えるでしょう。

EARTHPG 自動化研究所

「その作業、仕組みにできます。」

Google Apps Script、Python、スプレッドシート自動化、WordPress開発、 API連携、AI活用まで対応。 小さな自動化から業務全体の設計まで、研究所が支援します。