ビデオデータの切り出し機能

 今日はmixi内のコミュニティ“ユーザビリティの会”のオフ会でした。

 その場で、動画眼を試用してくださったKさんから、「動画の一部分を切り出すような機能があるとウレシイ」みたいな要望をいただきました。その時は、「動画ファイル自体に手を入れるのは深みにハマるからそれは難しいな†。あんまり触れたくない部分だなぁ…」と思ったりしたんですが、ふと帰りの電車の中で「案外イケるかも!」という気がしてきました。

 例によって、既存のツールを流用するアプローチです。既にあるものは利用する。それが道具眼流(笑)。

 ffmpegというオープンソースのエンコーダーがありまして、コイツはコマンドラインで色々なパラメーターを指定して様々なフォーマットで動画を変換することができます。コマンドラインでオプションを渡せるので、例えば動画眼のログから、バッチファイルを生成できれば、後は半自動で指定範囲を別ファイルに切り出したりはできるはずです。

 実は、先日hkondo氏からGrabFrame.DLLというライブラリを教えてもらって、これを組み込めば少なくとも.AVI形式のファイルに関しては簡単に静止画キャプチャはできそうだね、という話をして、実は開発版に試験的に組み込んでみたりしてました。が、このライブラリではMPEG2形式の動画から切り出すことはできず、限定的な使い方になるなぁ、と思ってました。しかし、ffmpegであればタイムコードを指定して特定フレームをJPEGなりに書き出すことはできるはずなので、静止画書き出しの問題も一挙解決?

 うん、それでいってみよう。なんでもかんでも動画眼の機能として内容する必要はない。動画眼のログから、ffmpegで一括切り出しを指示するバッチ(マクロ)を生成する、みたいなアプローチで。ffmpegならGPLだから動画眼と一緒に配布しても多分問題ないはずだし。

 というわけで、このヒラメキ(?)のための良いきっかけをくれたKさん、ありがとうございました。何かしらの形になったらお知らせします。

 

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)