動画からサムネイル(静止画)を抽出したいとき、最も高速で信頼性の高い方法のひとつが FFmpeg を使った手法です。本記事では、macOS上での導入方法から、実際にサムネイルを生成するまでの手順をわかりやすく紹介します。
目次
- FFmpegとは
- インストール方法(Mac)
- サムネイル取得の基本コマンド
- サイズや画質の指定方法
- PythonからFFmpegを呼び出す方法(応用)
1. FFmpegとは?
FFmpegは、動画・音声ファイルの変換、編集、抽出などを行うことができるコマンドラインツールです。動画処理の自動化やサーバーサイド処理でも広く使用されています。
2. FFmpegのインストール(macOS)
macOSでは Homebrew を使うのが一般的です。以下のコマンドで簡単に導入できます。
brew install ffmpeg
インストール確認:
ffmpeg -version
3. MP4からサムネイル画像を取得する基本コマンド
以下は、動画の1秒目から1枚だけ画像を取り出して thumbnail.jpg
に保存する例です。
ffmpeg -i input.mp4 -ss 00:00:01 -vframes 1 thumbnail.jpg
解説
オプション | 説明 |
---|---|
-i input.mp4 | 入力するMP4動画ファイル |
-ss 00:00:01 | 1秒目を指定 |
-vframes 1 | 出力するフレーム数(1枚) |
thumbnail.jpg | 出力ファイル名 |
4. サイズや画質の調整方法
解像度を変更したい場合
ffmpeg -i input.mp4 -ss 00:00:01 -vframes 1 -vf "scale=640:360" thumbnail.jpg
-vf "scale=幅:高さ"
を使うことでサムネイルの解像度を自由に指定できます。
JPEGの画質を高めたい場合
ffmpeg -i input.mp4 -ss 00:00:01 -vframes 1 -q:v 2 thumbnail.jpg
-q:v
は JPEG品質(2が高品質、数値が大きいほど低品質)
5. PythonからFFmpegを使って処理する(応用)
PythonスクリプトからFFmpegコマンドを呼び出すことで、バッチ処理などにも活用できます。
import subprocess
video_path = "sample.mp4"
thumbnail_path = "thumbnail.jpg"
subprocess.run([
"ffmpeg",
"-i", video_path,
"-ss", "00:00:01",
"-vframes", "1",
"-q:v", "2",
thumbnail_path
])
print("サムネイル画像を生成しました。")
おわりに
FFmpegを使えば、動画からサムネイル画像を高速・高品質に生成できます。コマンド1行で完結するので、自動化にも向いています。ブログや動画管理システム、CMS連携など多様な用途に活用できます。
次のステップとして、以下のような応用も検討してみてください:
- 一定間隔ごとに複数のサムネイルを生成する
- 複数の動画を一括処理するバッチスクリプトの作成
- Webアプリケーションからサーバーサイドで自動生成
コメント