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.pyPythonの追加パッケージは使っていません。GUIは標準ライブラリのTkinterです。
- Windows
- Python 3
- FFmpeg
- ffprobe
ffmpeg と ffprobe がPATHから呼び出せる必要があります。
環境だけ確認したい場合:
py -3 preflight.pyrun_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 -vFFmpeg smoke test:
py -3 tests\smoke_ffmpeg.pyPhase 2では、元の2ツールの機能を1画面へ統合しました。
左側が範囲カット、右側がフレーム書き出しです。 入力動画の選択とメタデータ確認は共通化し、処理ログと出力先を開く操作も同じ画面にまとめています。
Phase 3では操作感を整理しました。
- 入力動画をそのまま既定プレイヤーで開けます
- 開始位置を0秒へ戻せます
- 終了位置を動画末尾へワンタッチで設定できます
- 選択中のカット時間をリアルタイム表示します
- 高速カットと正確カットの違いを画面内で説明します
- よく使うFPSを候補から選べます
- フレーム書き出し前に予想枚数を表示します
- PNG選択時は不要なJPG品質入力を無効化します
- 全フレーム選択時は不要なFPS入力を無効化します