Python スクリプトでの FFmpeg
- FFmpeg Python パッケージをインストールする
- FFmpeg を使用して Python でビデオをトリミングする
- FFmpeg を使用して Python でビデオの幅と高さを取得する
- FFmpeg を使用して Python でビデオからサムネイルを保存する
- FFmpeg を使用して Python でビデオを反転する
FFmpeg は Fast Forward Moving Picture Experts Group の略です。 ffmpeg
、ffplay
、ffprobe
などのマルチメディア ファイルを処理するツールを提供するオープン ソース プロジェクトです。
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)
高さはアスペクト比によって自動的に決定されます。
出力画像:
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 コマンドを使用する方法を明確に理解しているはずです。 このチュートリアルがお役に立てば幸いです。