Python スクリプトでの FFmpeg

Rohan Timalsina 2023年6月21日
  1. FFmpeg Python パッケージをインストールする
  2. FFmpeg を使用して Python でビデオをトリミングする
  3. FFmpeg を使用して Python でビデオの幅と高さを取得する
  4. FFmpeg を使用して Python でビデオからサムネイルを保存する
  5. FFmpeg を使用して Python でビデオを反転する
Python スクリプトでの FFmpeg

FFmpeg は Fast Forward Moving Picture Experts Group の略です。 ffmpegffplayffprobe などのマルチメディア ファイルを処理するツールを提供するオープン ソース プロジェクトです。

FFmpeg は、ビデオ/オーディオ形式の変換、ビデオの圧縮、ビデオからのオーディオの抽出、GIF の作成、ビデオのカットなどに役立つコマンドライン ユーティリティです。

このチュートリアルでは、Python で FFMPEG コマンドを使用する方法を説明します。

FFmpeg Python パッケージをインストールする

まず、FFmpeg をシステムにインストールする必要があります。 管理者としてコマンド プロンプトを開き、次のコマンドを実行して choco を使用して FFmpeg をインストールします。

choco install ffmpeg

次に、Python パッケージ マネージャー ツール pip を使用して、ffmpeg-python パッケージをインストールします。

プロンプトで次のコマンドを実行して、pip でパッケージをインストールします。

pip install ffmpeg-python

出力:

Successfully built ffmpeg
Installing collected packages: ffmpeg
Successfully installed ffmpeg-1.4

FFmpeg を使用して Python でビデオをトリミングする

システムで FFmpeg を既に構成しているので、いくつかの FFmpeg コマンドを使用して Python でビデオを操作してみましょう。

次の例では、ビデオ Pencil.mp4 を 5 秒から 10 秒にカットし、output.mp4 として保存します。

import ffmpeg

video = ffmpeg.input("Pencil.mp4")
video = video.trim(start=5, duration=5)
video = ffmpeg.output(video, "output.mp4")
ffmpeg.run(video)

FFmpeg を使用して Python でビデオの幅と高さを取得する

次の例では、指定したビデオの幅と高さを Python で出力します。

import ffmpeg

probe = ffmpeg.probe("output.mp4")
video = next(
    (stream for stream in probe["streams"] if stream["codec_type"] == "video"), None
)
width = int(video["width"])
height = int(video["height"])
print("Width:", width)
print("Height:", height)

出力:

Width: 1280
Height: 720

FFmpeg を使用して Python でビデオからサムネイルを保存する

Python で FFmpeg を使用してビデオからサムネイルを保存することもできます。

次の例では、動画の時間 4 秒から幅 500px のサムネイルを生成します。

import ffmpeg

video = ffmpeg.input("Pencil.mp4", ss=4)
video = video.filter("scale", 500, -1)
video = ffmpeg.output(video, "output.png", vframes=1)
ffmpeg.run(video)

高さはアスペクト比によって自動的に決定されます。

出力画像:

Python の動画のサムネイル

FFmpeg を使用して Python でビデオを反転する

Python では、ffmpeg.hflip() を使用してビデオを水平方向に反転し、ffmpeg.vflip() を使用してビデオを垂直方向に反転できます。

ビデオを水平方向に反転します。

import ffmpeg

video = ffmpeg.input("Pencil.mp4")
video = ffmpeg.hflip(video)
video = ffmpeg.output(video, "horizontal.mp4")
ffmpeg.run(video)

ビデオを垂直に反転します。

import ffmpeg

video = ffmpeg.input("Pencil.mp4")
video = ffmpeg.vflip(video)
video = ffmpeg.output(video, "vertical.mp4")
ffmpeg.run(video)

FFmpeg は、マルチメディア ファイルに対してさまざまな操作を実行するための便利なツールです。 ビデオのトリミング、ファイル形式の変更、オーディオの抽出、GIF の作成などをすばやく行うことができます。

この時点で、Python スクリプトで FFmpeg コマンドを使用する方法を明確に理解しているはずです。 このチュートリアルがお役に立てば幸いです。

著者: Rohan Timalsina
Rohan Timalsina avatar Rohan Timalsina avatar

Rohan is a learner, problem solver, and web developer. He loves to write and share his understanding.

LinkedIn Website