画面共有を使用して iOS アプリを開発しています。iOS の screenshsring は Apple でサポートされていないため、唯一の方法はスクリーンショットを撮って送信することです。
WebRTC DataChannel を使用して、スクリーンショットをブラウザーに共有しています。それはまともに機能しますが、機能するには良好で安定したアップロード速度が必要です.
私の問題は、ネットワークが遅い場合、または速度が上下する場合です。画面共有を比較的リアルタイムにしたいからです。ある種のフロー制御を実装する必要があります。接続が遅くなったりラグスパイクが発生したりすると、レシーバー側で遅延が発生します。
そのため、速度が遅い場合は、1 秒あたりのスクリーンショットの送信速度を遅くしたいと考えています。およびその逆。私は時計を ntp と同期しており、現時点ではスクリーンショットが撮られた時間を送信する素朴な実装があり、それを使って私が作った素朴なアルゴリズムを実行しています。しかし、それは私が必要とするほどうまく機能しません。
あなたが私に推薦できるリアルタイムフロー制御アルゴリズム、または他のアイデアはありますか?