Skip to content

Latest commit

 

History

History
90 lines (64 loc) · 4.35 KB

File metadata and controls

90 lines (64 loc) · 4.35 KB

動画フレーム抽出ツール

このツールは、指定されたディレクトリ内の複数の動画ファイルから一括でフレームを抽出し、画像ファイルとして保存するためのGUIアプリケーションです。

機能

  • 複数動画の一括処理: 指定ディレクトリ内の動画ファイルを再帰的に検索して一括処理
  • 鮮明度ベース選択: 指定間隔のフレーム前後から最も鮮明で高品質なフレームを自動選択
  • フレーム抽出間隔の設定: 何フレームごとに抽出するかを指定(1-100)
  • 品質制御: 鮮明度閾値と検索範囲を設定して最適なフレームを選択
  • 出力形式の選択: JPG/PNG形式から選択可能
  • JPEG品質の調整: JPG形式の場合の圧縮品質を設定(1-100)
  • 処理停止機能: 処理中でもいつでも停止可能
  • 処理進捗の表示: リアルタイムで処理状況を表示
  • プレビュー表示: 抽出したフレームの最初の3枚をプレビュー表示

インストール方法

  1. 必要なパッケージをインストールします:
pip install -r requirements.txt

注記: requirements.txtに記載されているバージョンは作者の実行環境でのものです。他のバージョンでも動作する可能性がありますので、依存関係のエラーが発生した場合は適宜バージョンを調整してください。

使用方法

  1. アプリケーションを起動します:
python frame_extractor_ja.py
  1. ブラウザで表示されるGUIインターフェースで以下の設定を行います:

基本設定

  • 入力ディレクトリ: 処理したい動画ファイルが含まれるディレクトリのパスを入力
  • フレーム間隔: 何フレームごとに抽出するかを設定(1-100)
  • 出力形式: JPG/PNG形式から選択
  • JPEG品質: JPG形式の場合の圧縮品質を設定(1-100)

鮮明度ベース選択設定

  • 鮮明度ベース選択を有効にする: 高品質なフレーム自動選択機能のON/OFF
  • 鮮明度閾値: この値以上の鮮明度を持つフレームのみを選択(50-500)
  • 検索範囲: 指定フレームの前後何フレームまで検索するか(1-20)
  1. 「フレーム抽出開始」ボタンをクリックして処理を開始します。

  2. 処理中は「処理停止」ボタンで処理を中断できます。

  3. 処理が完了すると、各動画ファイルごとに「動画名_frames」フォルダが作成され、その中にフレーム画像が保存されます。

鮮明度ベース選択について

このツールの最大の特徴は、単純に指定間隔でフレームを抽出するのではなく、指定されたフレーム周辺から最も鮮明で高品質なフレームを自動選択する機能です。

動作の仕組み

  1. フレーム間隔で指定されたフレーム(例:30フレームごと)を基準点とする
  2. その基準点の前後±検索範囲内のフレームを全て評価
  3. 鮮明度閾値を超えるフレームの中から最も鮮明度が高いものを選択
  4. 閾値を超えるフレームがない場合はスキップ

利点

  • ブレの少ない鮮明なフレームのみを抽出
  • 暗すぎる・明るすぎるフレームを自動的に除外
  • 大量の動画から効率的に高品質なフレームを取得

対応動画形式

  • MP4 (.mp4)
  • AVI (.avi)
  • MOV (.mov)
  • MKV (.mkv)
  • WMV (.wmv)
  • FLV (.flv)
  • WebM (.webm)

注意事項

  • 各動画ファイルごとに「動画名_frames」フォルダが自動的に作成されます
  • 既存の出力フォルダは処理開始時に削除・再作成されます
  • プレビューには処理中の最初の3枚のフレームが表示されます
  • 鮮明度ベース選択を有効にした場合、閾値を超えないフレームはスキップされます

制限事項

これは一般的な用途と使いやすさを重視した簡易版です。より高度な動画フレーム処理やプロフェッショナルグレードの機能が必要な場合は、ReflctのSharpeFramesをお勧めします。

ライセンス

このプロジェクトはMITライセンスの下で公開されています。