私はActionScriptを使用して単純な1対1のP2Pビデオチャットを開発しています。そして、帯域幅を考慮して、ピアに最高のビデオ品質を保証したいと思います。これの意味は:
- チャット開始時に利用可能な帯域幅を考慮して最高の品質を設定する
- 品質を下げることにより、チャット中のネットワークの混雑に対応します。
タスクは動的ストリームスイッチングに似ていますが、P2Pには、動的ストリーミングアプローチが機能しないようにする詳細があります。たとえば、動的ストリームスイッチングで監視されるmaxBytesPerSecondメトリックは、遅延を最小限に抑えるために受信NetStreamのバッファサイズが0に設定されているP2Pではほとんど役に立ちません。
これまでのところ、P2Pの最も信頼できるQoSメトリックはSRTTのようです。ローカルネットワークでのシミュレートされたテストでは、帯域幅の輻輳により、帯域幅の制限が導入された場合、最大500ミリ秒以上のショットが発生します。ただし、輻輳に対応するためbandwidth
にinの値を最適に調整する方法についてはヒントがありません。Camera.setQuality(0, bandwidth)
私はたくさんの実験をしましたが、問題に対する明確で単純な解決策はまだわかりません。また、他のRTMFPチャットソリューションでこの問題が(あるとしても)どのように対処されるのか疑問に思っています。