2009-04-22 13 views
5

.aviファイル(できればビデオファイル)を開いて、ビットマップ(配列)のシーケンスとしてそのビデオを操作し、それを画面に表示するか、ファイルに保存します。.NETでのビデオ処理

.NETにはどのようなオプションがありますか?

答えて

3

Splicerが私にとって最良の選択肢でした。 DirectShow.Netの周りのオープンソースのラッパーです。プログラミングモデルはとても簡単なので、私はそれを理解できました。

+0

あなたはスプライサーが – Bittercoder

+1

スプライサーがMicrosfによって非難されDES upong基づいています:)トリックをやった見つけ、私はうれしいです。代わりがありますか? –

+0

@ DareDevil73:わかりません。それ以来、私はビデオを扱っていません。 –

1

私はCodeProjectでこのC# AVIFile wrapperを使用して、ビットマップ - > AVIを変換しました。逆も可能です。

1

は以前、マイクロソフトからの管理対象のDirectXラッパーはこのために使用することができAudioVideoPlaybackアセンブリを供給したが、これは、その記事は私が彼らの相対的な利点のために話すことができない(完全を期すためにここにリストアップしますいくつかの交互を示していますbasically died

あり):

  • DirectShow.Net
  • Managed DirectShow
  • Lime Green Socks
    • これはDirectShowのチェーンにフィルタを実装するために、マネージコードを使用しないように理由の一つは、その唯一のものであることは注目に値する、主にDirectShow.Net

に包括されているようですCLRのバージョンは一度にホストできるため、互換性のないバージョンの2つのフィルタが不愉快な方法で失敗します(これは管理シェルアドインと同じ問題です)。

フィルタとしてではなくのアプリとしてこれを行うのは問題ありません。

DirectShowを使用することにより、システムによってデコード可能な既存のオーディオ/ビデオストリームがすべてアクセス可能になるはずです。

[1] 4.0以上のCLRバージョンの4.0 CLRはmeant to remove this issueです。これが既存の拡張ポイントの回顧的な修正であるかどうかは未解決の問題です。

+0

「一度に1つのバージョンのCLRしかホストできません」ということは、.NET 4.0で消滅する予定ですか? – OregonGhost

+0

はい、しかしこれは待つのですが... Windows7でもIIRCは4.0に依存しないので、シェル拡張を行う管理されたレイヤーを提供しても4.0まで使用するのは危険です。私は、彼らは単にそれはあなたに関係なので、この – ShuggyCoUk

+0

が、私はしかし、答えを更新します避けるために、4.0でそれらを解放すると仮定し – ShuggyCoUk

1

また、非商用目的のVideoLab.NET - www.mitov.comをダウンロードして使用することもできます。デモでは、ストリームからビットマップを単一行で取り込む方法を示すデモが含まれています。

関連する問題