このツールは、指定されたディレクトリ内の複数の動画ファイルから一括でフレームを抽出し、画像ファイルとして保存するためのGUIアプリケーションです。
- 複数動画の一括処理: 指定ディレクトリ内の動画ファイルを再帰的に検索して一括処理
- 鮮明度ベース選択: 指定間隔のフレーム前後から最も鮮明で高品質なフレームを自動選択
- フレーム抽出間隔の設定: 何フレームごとに抽出するかを指定(1-100)
- 品質制御: 鮮明度閾値と検索範囲を設定して最適なフレームを選択
- 出力形式の選択: JPG/PNG形式から選択可能
- JPEG品質の調整: JPG形式の場合の圧縮品質を設定(1-100)
- 処理停止機能: 処理中でもいつでも停止可能
- 処理進捗の表示: リアルタイムで処理状況を表示
- プレビュー表示: 抽出したフレームの最初の3枚をプレビュー表示
- 必要なパッケージをインストールします:
pip install -r requirements.txt注記: requirements.txtに記載されているバージョンは作者の実行環境でのものです。他のバージョンでも動作する可能性がありますので、依存関係のエラーが発生した場合は適宜バージョンを調整してください。
- アプリケーションを起動します:
python frame_extractor_ja.py- ブラウザで表示されるGUIインターフェースで以下の設定を行います:
- 入力ディレクトリ: 処理したい動画ファイルが含まれるディレクトリのパスを入力
- フレーム間隔: 何フレームごとに抽出するかを設定(1-100)
- 出力形式: JPG/PNG形式から選択
- JPEG品質: JPG形式の場合の圧縮品質を設定(1-100)
- 鮮明度ベース選択を有効にする: 高品質なフレーム自動選択機能のON/OFF
- 鮮明度閾値: この値以上の鮮明度を持つフレームのみを選択(50-500)
- 検索範囲: 指定フレームの前後何フレームまで検索するか(1-20)
-
「フレーム抽出開始」ボタンをクリックして処理を開始します。
-
処理中は「処理停止」ボタンで処理を中断できます。
-
処理が完了すると、各動画ファイルごとに「動画名_frames」フォルダが作成され、その中にフレーム画像が保存されます。
このツールの最大の特徴は、単純に指定間隔でフレームを抽出するのではなく、指定されたフレーム周辺から最も鮮明で高品質なフレームを自動選択する機能です。
- フレーム間隔で指定されたフレーム(例:30フレームごと)を基準点とする
- その基準点の前後±検索範囲内のフレームを全て評価
- 鮮明度閾値を超えるフレームの中から最も鮮明度が高いものを選択
- 閾値を超えるフレームがない場合はスキップ
- ブレの少ない鮮明なフレームのみを抽出
- 暗すぎる・明るすぎるフレームを自動的に除外
- 大量の動画から効率的に高品質なフレームを取得
- MP4 (.mp4)
- AVI (.avi)
- MOV (.mov)
- MKV (.mkv)
- WMV (.wmv)
- FLV (.flv)
- WebM (.webm)
- 各動画ファイルごとに「動画名_frames」フォルダが自動的に作成されます
- 既存の出力フォルダは処理開始時に削除・再作成されます
- プレビューには処理中の最初の3枚のフレームが表示されます
- 鮮明度ベース選択を有効にした場合、閾値を超えないフレームはスキップされます
これは一般的な用途と使いやすさを重視した簡易版です。より高度な動画フレーム処理やプロフェッショナルグレードの機能が必要な場合は、ReflctのSharpeFramesをお勧めします。
このプロジェクトはMITライセンスの下で公開されています。