次のことを行う効率的な方法を探しています。
いくつかのソース ビデオ (ほぼ同じ長さ) を使用して、それぞれが独自の領域で実行されるすべての元のソースで構成される出力ビデオを生成する必要があります (いくつかの異なるサイズのPIPの束のように)。したがって、最終的には、すべてのオリジナルがそれぞれの領域/ボックス内で並んで実行されます。
ソースと出力は必要でflv
あり、私が使用しているプラットフォームは Windows (Windows 7 64 ビットの開発、Windows サーバー 2008 への展開) です。
私はavisynthを見てきましたが、残念ながらそれは処理できずflv
、私が試したプラグインとflvスプリッターはどれも機能しませんでした.
私の現在のプロセスでは、次の方法でffmpegを使用しています。
- ffmpeg を使用して、ビデオごとに毎秒 25 個の png を生成し、必要に応じて元のサイズを変更します。
- 名前空間を使用して
System.Drawing
、フレームの各セットを新しい画像に結合します。静的な背景から始めて、各フレームを にロードImage
し、背景Graphics
オブジェクトに描画します。これにより、結合されたフレームが得られます。 - ffmpeg を使用して、生成された画像をビデオに結合します。
これはすべて非常に IO 集約的であり (現時点ではこれが処理のボトルネックになっています)、目標を達成するためのより効率的な方法が必要だと感じています。私はビデオ処理の経験があまりなく、どのようなオプションがあるかわかりません。
これらを処理するより効率的な方法を提案できる人はいますか?