2

廃止されたビデオ形式をデコードし、ビデオ フレームを BMP で、オーディオを WAV でコールバック関数を介して返すビデオ デクリプタ ライブラリがあります。ここで、新しいビデオを Windows の標準形式でエンコードする必要があります。

これを行う標準的な方法は何ですか?Win32/C を使用しています。Windows には独自のエンコーディング ライブラリとドライバーがあり、FFMPEG を使用する必要はないと思います。サンプルコードへのポインタ、または少なくとも参照するライブラリへのポインタは非常に役立ちます。

編集:承ります。FFMPEG はそれを行う最も簡単な方法です。

4

3 に答える 3

5

Windows では、ネイティブの選択肢が 2 つあります。

  1. 古すぎて真剣に検討できない古いWindows マルチメディアライブラリですが、 Video Compression Managerがあります。
  2. そしてDirectShowがあります。

確かに DirectShow を使用して実行できますが、COM プログラミングと、フィルター、グラフ、およびモニカーの概念を楽しんだほうがよいでしょう (ああ、そうです)。短期集中コースについては、このチュートリアルを参照してください。

AVI ファイルの再圧縮

およびMSDN ドキュメント.

より簡単なアプローチは、FFMPEGVLCなどのライブラリを使用することです。

于 2009-07-15T04:25:22.687 に答える
4

心痛を避けるために、FFMPEG を使用するという Frank の提案に同意します。正しい引数を使用して別の FFMPEG プロセスを実行することは、エンコードの目標を達成するための 100% 最も簡単な方法です。

その他のオプションは次のとおりです。

libavcodec - FFMPEG で使用される中央ライブラリ。利用可能な libavcodec の Windows バイナリはあまりないように思われるため、おそらく独自のバイナリをコンパイルする必要があると警告します。これには、少なくとも Cygwin または MingW のセットアップが必要です。

ffdshow-tryouts - libavcodec に基づく DirectShow フィルタとして実装されたビデオ コーデック ライブラリ. 彼らはそれを操作するためのAPIを持っているようですが、それは .NET ライブラリです。

于 2009-07-15T04:35:05.117 に答える
1

VirtualDubのソース コードを確認することをお勧めします。VFWを使った有名なエンコーダーです。そのソフトウェアからいくつかのアイデアを得ることができるかもしれません。

于 2009-07-15T04:05:36.110 に答える