WebカメラからC#でH.264にビデオをエンコードする方法は? [閉まっている]

StackOverflow https://stackoverflow.com/questions/1653001

質問

C#でWebcamのビデオをH.264にエンコードするにはどうすればよいですか?

必要なもの

  • これについて何か助けがあればMSDN。
  • エンコード/デコード用のオープンソースのライブラリ/ラッパー。
  • その方法に関するチュートリアルとブログ記事。

3GPやFLV、またはファイルサイズが小さい他の何かにエンコードする方法のいくつかの例はありがたいです。

役に立ちましたか?

解決

DirectShow SDKを調べる必要があります。

H.264に直接エンコードすることはできませんが、役立つ市販のactivexコントロールがあります。しかし、いくつかのことを理解する必要があります。

DirectShowはオーディオ/ビデオ処理フレームワークであり、グラフ編集ツールを使用してデバイスをグラフに配置してテストできます。また、グラフを作成するために同様のコードを作成する必要があります。グラフは、相互作用して最終出力を生成するデバイス/オブジェクトのチェーンです。

DirectShowは.NETで使用できます。GraphEditPlusツールを使用してグラフを作成し、それを.NETで使用できますが、DirectShowはCOMに密接にバインドされているため、。ネイティブC ++でActiveXコントロールを作成し、DirectShowを使用して記録全体を実行し、WPFでActiveXを使用すると、プログラムは難しくなりますが、より安定します。

通常、次のようなグラフが必要になります

Video Source => Demux -> Audio Stream + Video Stream -> MP4Muxer 

x264は無料のオープンソースであり、優れたMP4Muxerを持っていますが、合法ではありません。コードでH264を使用するには、特許ライセンスを取得する必要があります。

代替手段として、多くの商用コントロールを使用できます。これまでのところ、IntelのIPPはH264の最良の実装ですが、directshowに入れるのは少し難しいです。

他のヒント

以下は、.NETのビデオキャプチャ用CodeProjectの2つのサンプルです。

特にH.264は含まれていません。そのために、サードパーティのコンポーネントを使用して、キャプチャ後にビデオを後処理したい場合があります: http://www.elecard.com/products/ products-pc / sdk / codec-.net-sdk /

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top