20

私は、既存のアプリケーションでビデオ チャット サポートを開発している会社で働いています。私はこのようなためのさまざまなソリューションを見てきました

  1. C# でのビデオ キャプチャとストリーミングにマネージド ダイレクト ショーを使用する
  2. 画像を取得してネットワーク経由で渡すコード プロジェクトのいくつかのコード サンプル (これは帯域幅を大量に消費するため、かなり大雑把なソリューションと呼びます。
  3. 圧縮アルゴリズムをゼロからコーディングし、それを使用してビデオを圧縮および圧縮解除します。

現在の課題は、非常に高品質のビデオ ストリーミングを実現することであり、コンテナー アプリケーションは C#.NET でコーディングされています。

これが私がこれまで提案してきたことです。データをストリーミングするためのネットワーク ロジックは C# で記述され、ビデオ圧縮は VC++ で記述され、pinvoke または可能な CLI を使用してこの VC++ dll を呼び出します。

私はこの分野で私よりも経験豊富な人を探しています.

最終的な目標は、高品質のビデオ ストリーミングです。コーデックは、h.2633、h.264 などの任意のものにすることができます。

4

4 に答える 4

24

directshow を掘り下げる必要なく、簡単に .net でビデオ ストリーミング/会議を取得するいくつかの方法を使用しました。(わかりました、少し掘り下げますが、深くはありません:)

1) プレーンな Windows Media Encoder コンポーネントの使用。これは、Windows Media Encoder SDK のサンプルで文書化されています。高解像度のストリーミングには適していますが、リアルタイム チャットには遅延が大きすぎます (せいぜい 0.5 ~ 2 秒)。Modern Express Encoder SDK の別のオプション。

2) Microsoft Research ConferenceXP http://cct.cs.washington.edu/アプリケーション ストリーミングを含むフル機能の会議 API。それらは低レベルの Windows Media コード フィルターであり、マネージ コードにラップされていました。うまくいきます。簡単にカスタマイズ可能。今は少し放棄されているように見えます。

3) バージョン 1.3 までの Microsoft RTC クライアント - Windows メッセンジャーのコア。

長所: Microsoft からの管理されたサンプル、優れたドキュメント、信頼できるパフォーマンス、自由に再配布可能、Microsoft と互換性のある (優れた) SIP スタックが含まれています。Emblaze VCON のような主要な会議ベンダーは、近い過去にソリューションをベースにしていましたが、現在のことはわかりませんが、Tandberg が Microsft の VC-1 のライセンスを取得したことは知っています。

短所: 1.3 までのバージョンは、h261-h263 ビデオのみをサポートします。VC-1(h264) コーデックをサポートする最新バージョンでは、直接のサーバーレス ip-ip 接続は許可されません。Microsoft Live Communications サーバーが必要です。新しいバージョンの SDK は、ビデオ会議通話を十分にカバーしていません。

http://msdn.microsoft.com/en-us/library/ms775892(VS.85).aspx

選択したプラットフォームをお知らせください。ちなみに、ビデオ品質を向上させるために、ConferenceXP ビデオ rtp 部分と RTC 1.3 音声/SIP 機能を一緒に使用したこともあるため、ここではマネージド テクノロジの幅広い選択肢があります。もう一つは、まだじっくりと見る機会がなかった Live Meeting です。

于 2009-12-26T10:13:16.507 に答える
10

手間を省き、VLC を使用してください。そのための適切な .NET ラッパーがいくつかあります ( http://forum.videolan.org/viewtopic.php?f=32&t=52021&start=30 ) 。

IPTV ネットワークには C# と VLC を使用しています。Windows XP サーバー上の Osprey-450 ビデオ キャプチャ デバイスを介して DISH ネットワーク衛星から入力を取得します。そこから、舞台裏で VLC を使用する C# で記述した .NET サーバー コンポーネントを作成します (.NET で個別のプロセスを開始して vlc.exe インスタンスを制御します)。VLC はトランスコードを処理し、ネットワーク経由で信号をストリーミングします (.h264 または MPEG-4、両方とも成功しています)。

クライアント側には、組み込みの VLC ビューアーを使用してマルチキャスト シグナルを表示する C# WinForm アプリケーションがあります。このアプリケーションは、主にコマンド & コントロール用です。マルチキャスト信号が実際に使用されるのは、テレビに接続されたセット トップ ボックスがストリームをデコードして表示するときです。

独自の DirectX エンコーダーも作成する必要があると考えていましたが、面倒なことはしないでください。VLC は非常にうまく機能し、非常に便利な C# を十分にサポートしています。実装について具体的な質問がある場合は、お気軽に電子メールでお問い合わせください。

于 2009-02-03T23:29:09.330 に答える
2

Ucentrik SDK を確認してください。この SDK を使用すると、ビデオ、オーディオ、チャット、リモート デスクトップ共有、コントロール、ビデオ録画などのリッチ メディア機能をアプリケーションに統合できます。サポートされているビデオ コーデックは、VP8 (Google)、Theora、および x.264 です。さらに、リッチ メディア トラフィックは HTTP プロトコル内にカプセル化され、通常の Web トラフィックを可能にするファイアウォールを通過できるようになります。このテクノロジーは完全に無料であり、SDK をダウンロードして API キーを要求できるため、インフラストラクチャのセットアップに時間をかけずに評価できます。今後数か月以内にサーバー コンポーネントをリリースする予定です。これにより、インフラストラクチャを自分自身または顧客がダウンロードしてホストできるようになります。このテクノロジーは 1 対多の接続をサポートしているため、必要に応じてビデオ会議を作成できます。機能は高度にモジュール化されているため、同じ SDK を使用して、ビデオ、オーディオ、デスクトップ共有、またはテクノロジの組み合わせを統合できます。www.ucentrik.com から入手できる SDK をリクエストする必要があります。さらに、ここにいくつかのビデオがあります。 http://www.youtube.com/user/ucentrik

幸運を。

于 2011-05-30T17:12:23.467 に答える
0

Ucentrik は、CTX テクノロジを統合したオープンソースのコール センター アプリケーションをリリースしました。このコール センター アプリケーションは、CTX API から利用可能なビデオ、オーディオ、デスクトップ/アプリケーション共有 (制御付き)、テキスト チャット機能を実装します。このアプリケーションには、対応可能なエージェントまたは特定のスキルセットを持つエージェントにコールをルーティングする機能を提供することに特化したいくつかのビジネス ロジックも含まれています。このプロジェクトはhttp://vcca.codeplex.comで入手できます。Ucentrik Web サイト (www.ucentrik.com) でリクエストできる Ucentrik CTX SDK にアクセスする必要があることに注意してください。幸運を。

于 2012-02-07T02:32:41.640 に答える