Skip to content

About

Windows GUI for safe video trimming and frame export with FFmpeg.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

Video Workbench

Current release candidate: 0.4.0

video_frame_export_tool と video_trim を統合した、Windows向けの動画作業ツールです。

現在の機能

  • 動画ファイルの基本情報を ffprobe で確認
  • 指定区間の高速カット
  • 指定区間の正確カット
  • PNG / JPG のフレーム書き出し
  • 全フレームまたはFPS指定での書き出し
  • 日本語・空白を含むパスに対応
  • 出力の存在・動画ストリーム・フレーム件数を処理後に検証
  • 既存ファイルや既存フォルダへの上書きは既定で拒否

起動

Windowsでは run_video_workbench.bat をダブルクリックします。

または:

py -3 app.py

Pythonの追加パッケージは使っていません。GUIは標準ライブラリのTkinterです。

必要環境

  • Windows
  • Python 3
  • FFmpeg
  • ffprobe

ffmpeg と ffprobe がPATHから呼び出せる必要があります。

環境だけ確認したい場合:

py -3 preflight.py

run_video_workbench.bat も起動前に同じチェックを行います。

範囲カット

高速カット

ストリームコピーを使います。

  • 再エンコードを避けられる
  • 処理が速い
  • キーフレーム境界の影響で指定時間と完全一致しない場合がある

正確カット

映像をH.264、音声をAACで再エンコードします。

  • 指定区間に合わせやすい
  • 高速カットより処理時間がかかる
  • 自動出力はMP4になります

フレーム書き出し

  • PNG
  • JPG
  • 全フレーム
  • FPS指定

JPG品質はFFmpegの -q:v と同じ考え方で、2が高画質、31が低画質です。

全フレームPNGは動画によって非常に大きな容量になります。

安全化

元ツールから次を変更しています。

  • FPS 0以下を拒否
  • 不正な時間表記を拒否
  • 終了 <= 開始を拒否
  • 動画長を超える区間を拒否
  • 入力動画自身への上書きを拒否
  • 既存出力への上書きは明示操作時のみ許可
  • FFmpegへ -nostdin を渡して対話待ちを防止
  • FFmpeg / ffprobe の終了コードを確認
  • 出力後にffprobeまたはファイル件数で検証
  • エラー出力は必要範囲だけ保持

テスト

単体テスト:

py -3 -m unittest discover -s tests -v

FFmpeg smoke test:

py -3 tests\smoke_ffmpeg.py

Phase 2

Phase 2では、元の2ツールの機能を1画面へ統合しました。

左側が範囲カット、右側がフレーム書き出しです。 入力動画の選択とメタデータ確認は共通化し、処理ログと出力先を開く操作も同じ画面にまとめています。

Phase 3

Phase 3では操作感を整理しました。

  • 入力動画をそのまま既定プレイヤーで開けます
  • 開始位置を0秒へ戻せます
  • 終了位置を動画末尾へワンタッチで設定できます
  • 選択中のカット時間をリアルタイム表示します
  • 高速カットと正確カットの違いを画面内で説明します
  • よく使うFPSを候補から選べます
  • フレーム書き出し前に予想枚数を表示します
  • PNG選択時は不要なJPG品質入力を無効化します
  • 全フレーム選択時は不要なFPS入力を無効化します

About

Windows GUI for safe video trimming and frame export with FFmpeg.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages