Silverlight 4.0 上の VOIP 機能 (最大 5 ユーザーにわたるリアルタイム音声ストリーミング)
-
13-09-2019 - |
質問
SL 4.0 ではビデオとマイクがサポートされているため...
Web ベースのアプリケーションに対して、Silverlight 4.0 を介して VOIP 機能 (最大 5 人のユーザーにわたるリアルタイムの音声ストリーミング) を提供することはどの程度実現可能ですか?
関連する課題は何ですか?
解決
ソリューションの一部は、最近の形で提供されています CSpeex に、昔の港Speexの古いバージョンのJavaのポート(C。2003)。私はそれを周りにプレイした、そしてそれは間違いなく(例えば、10倍以上の圧縮を)動作します。しかし、あなたはまだどこかのサーバーにそれらのパケットをストリーミングする必要があります、そしてあなたがあなた自身のネットワークを展開する必要があると思います。この時点でので、RTP / RTSP / SIPまたはRTMPのいずれかのSilverlightの実装があるように表示されません。ストリーム・コンテナをサポート。あなたはすべてのユーザーがヘッドフォンを着用したい場合を除きまた、あなたは音響エコーキャンセルをするつもりだ、それは全く別の野球の試合です。そこにいくつかの非常に優れたオープンソース実装(例えば、speexdsp)があるが、それらはすべてストレートC、およびポートへのハードです。だから、そこにもあなた自身にしています。そこおそらく今後数ヶ月/年以上のすべてこれにいくつかのオープンソースの答えになるだろうが、作品はまだ場所ではありませんされます。
他のヒント
新しい SL4 マイク/ビデオ サポートがどのように実装されるかによって大きく異なります。次のことができるコードを含める必要があります。
- 音声をバイトストリームにエンコードする
- バイトストリームを相手に送信します
- バイトストリームを受信/デコードしてオーディオ信号に変換する
SL4 には何らかの COM サポートが計画されていると思います。そのため、オープンソース (または有料) のアンマネージド C++ VOIP またはオーディオ エンコーディング ライブラリが存在する場合は、それらを利用できる可能性があります。
1を使用することができ、複数のライブラリがあります。たとえば、次のようにSilverlightの4.0で動作しますconaitoの、ABTO LLCは、IndependentSoft SIP、。 IndependentSoftがマネージアセンブリを持ちながらのconaitoとABTOは、自分のWebクライアントにリンクするJavaスクリプトを使用します。
のconaitoとABTOは良いですが、自分たちのライブラリが原因彼らはOCX年代であることや、デプロイメントを壊すことCOMのDLLの使用に少し古くなっています。
IndedenpentSoftは、それがコード管理ですので、展開することが容易であるが、それは基本的にトランスポート層を提供し、それのthatsとして実装するのは非常に多くの作業を必要とし、あなたはコーデックのとtrnasportプロトコルを指定する必要があります。
あなたが考慮する必要がある主な問題は、ファイアウォールの要件です。私の提案はthatsのはSTUN、TURN、特にICEを使用してマネージアセンブリを探すことになります。