1

さまざまな形式のビデオ ファイルを取得し、ファイルに対して簡単な編集を行い、特定の形式に出力するアプリを開発しています。

編集はユーザーが特定のことを指定する必要があるため、FFMPEG を介した編集部分以外はすべて処理できます。トリミングが必要なフレーム範囲 (最初または最後からのみで、途中ではなく)、フェードインまたはフェードアウトの開始/終了フレーム番号、およびオーバーレイテキストをユーザーに指定してもらう必要があります。

Splicer と Directshow.NET ラッパーの両方を見てきましたが、すべての編集をアプリに取り込むのに時間をかける価値があるかどうかはわかりません。avisynth/ffmpeg/mencoder を使用してユーザーの後で実際の編集を実行するだけではありません。上記のすべてを設定します。

本当に必要なのはコントロールまたはラッパーだけなので、ビデオを再生/一時停止したり、フレーム間を移動したり、ビデオの特定のフレーム番号を取得したりできるコントロールを作成できます。そこから AVS ファイルを生成して、残りの作業を行うことができます。ビデオは最初からWMV、FLV、Divx、MP4などである可能性があり、すべてをサポートする必要があるため、マシンにインストールされているコーデックが利用できるように、あるレベルでDirectShowを使用するとよいでしょう。それらの。

アイデアや提案はすべて考慮されますが、最速の (実行ではなくコードの記述) 実装を目指しています。

4

1 に答える 1

1

私たちがやったこと:

Windows Media Player ActiveX コントロールを使用して、ユーザーがビデオ内のポイントを選択してフェードとトリミングを設定できるようにしました。それから Avisynth スクリプトを生成し、それを mencoder で実行して最終的なビデオを取得します。

再生中のクリップの currentPosition を指定する WMP コントロールの double プロパティを使用することにしました。これは、クリップの秒あたりのフレーム数と currentPosition からフレーム番号を生成して AviSynth スクリプトで使用する必要がある場合に十分な精度でした。

于 2010-10-12T14:45:30.790 に答える