旅行で取りためている動画のファイルを、簡単に編集できるソフトを作りたいと考えています。
それを考えるに至った背景としては、数々動画編集ソフトはあるのですが、
結局フォーマットやプロジェクトは統一されておらず、流用が難しいというのが難点です。
動画の編集で一番、めんどうな作業は、いわゆる荒編集というもので、
それは、取ってきた素材の中身について
・撮影ミスなどの明らかな不要フレームの除去
・撮影した素材の中から、使えるシーンの抽出
・素材の簡単なタグ付け(何が移っているのか?)
この段階で、ビデオエディタを使ってしまうと、マウス操作やJOG操作なども含めて
かなり体力を使います。
そこで、いま考えているコンセプト
手順)
1)動画ファイルの保存フォルダを指定
2)すべての動画、写真を時系列でソート
3)ファイルを順番に再生(再生の場所は、任意に変更可能)
4)再生中に、素材で使えそうなカットが出てきたら、その時点でマーキングを実施
→ このマーキングと言うのは、あくまで人力の作業にはなりますが。ビデオを見ながら、スペースキーをポンポンと叩くようなイメージ
5)マーキングされた、タイムレコードから、その前後 ±数秒からIN,OUTのタイムを記録
6)抽出した再生リスト(ファイル名、INタイム、OUTタイム)を作成
7)プレビューで内容をチェックする。
8)INタイム、OUTタイムは、数値で微調整を行う。
9)全体の流れが確認できたら、最後にファイルへ出力
という感じです
具体的なアーキテクチャについて
アーキテクチャとしては、もっとも直感的に分かりやすいのは、
表計算ソフトEXCELを使います。
データベースのカラムとしては
ファイル名(フルPATH名)、タイムフレーム(スタート)、タイムフレーム(エンド)、タイムフレーム(IN)、タイムフレーム(OUT)
で考えています。
VBAで直接、動画再生できる方法を探していても見つからなかったので、
現時点では、C#でアプリを作り、C#→EXCELを参照しながら、
再生させることを考えています。
実装について
・C#を使って書き始めようとしています。
・動画の再生には、VLCの中にC#のライブラリがあるというので、これを参考にしようと思います。
・カット出力は、FFMPEGを使うことを考えています。
ひとまず、このようなコンセプトで書き始めてみようと思います。
結局は、万人が理解できる、慣れたUIというのは、EXCELだという事でしょうか・・・
適当に何秒かで切るような、カットのシークエンスなど関数でできそうですし