1

過去数か月間、開発者と私は、Wowza や Red5 などのメディア サーバーにストリーミングする画面共有アプレットに取り組んできましたが、何をしても約 5 秒の遅延があり、ライブには長すぎます。人々が互いに対話しているアプリケーション。xuggle、さまざまなエンコーダー、さまざまなプレーヤー、さまざまなネットワーク、さまざまなメディア サーバー、さらにはローカル ストリーミングを試してみましたが、かなりの遅延が発生しました。

それで、私は疑問に思い始めています…</p>

Java は、ライブ画面共有を行うのに十分高速ですか?

Java で書かれたスクリーン レコーディング アプレットをたくさん見てきましたが、どれもライブ ストリーミングしていません。GoToMeeting など、ライブで行われるものはすべて C++ を使用しているようです。何か理由があるのではないかと考えています。

圧縮の問題ではありません。ScreenVideo を使用して、1 時間のストリームを約 100 MB に圧縮し、十分な帯域幅を確保しました。圧縮を行ってもプロセッサが過負荷になることはありませんが、時間がかかりすぎているようです。BigBlueButton から引き出されたいくつかのコードから最良の結果が得られていますが、それでもレイテンシーはひどいものです。

一方、WebCam のストリーミングは素晴らしく、きびきびしています。レイテンシーはほとんどありません。したがって、問題はアプレットです。

私が考えることができる他の唯一のアイデアは、どういうわけか Java で WebCam をエミュレートすることです。それがより速いかどうかはわかりません。

アイデア?それとも、Java をあきらめて C++ でこれを行うべきですか? プラットフォームごとに異なるバージョンを作成する必要があるため、私はそれをしたくありませんが、それが唯一の方法である場合は、それが唯一の方法です。

4

1 に答える 1

3

多くのビデオストリーミングサブシステムは、接続性の低下がビデオに影響を与えないように意図的にバッファリングしますが、記録されたメディアのシナリオではそれがより理にかなっています。

これらのシステムでバッファリングがオフまたはオフになっていることを確認してください。

また、これは正確には科学的ではありませんが、送信側と受信側のコンピューターでwiresharkのようなアプリを実行して、トラフィックが実際にかかる時間を確認することができます。非常に高速な場合は、バッファリングが問題であるとより真剣に考えます。

Windowsを使用している場合は、タスクマネージャー/ネットワークタブを実行するだけでこれが証明されるかどうかがわかります(wiresharkのようなものをインストールするのではなく、難しいことではありません...チェックするための高速な方法を提案しようとするだけです)

于 2012-03-10T02:55:58.050 に答える