5

Websocket を使用して mjpeg を受信する javacript を作成しようとしています。クライアントは、再生するビデオ ファイルを選択できます。

サーバーは次のように json を使用して mjpeg を画像として 1 つずつ送信しています: {"image":"base64_image"}

クライアントが別のビデオを選択しようとすると、問題が発生します。新しいビデオ ファイルに変更するには、2 分以上かかります。(ただし、サーバーとクライアントは別の国にあります。)

遅延があることは知っていますが、問題は

前のビデオ ファイルを開く時間が長いほど、次のビデオ ファイルの表示が遅くなります。

バッファにデータがキューイングされていると思います。だから、私の質問は

javascriptでそのソケットバッファをクリアするにはどうすればよいですか?

または、バッファに関するものではない場合、問題が何であるかについての考えはありますか?

4

1 に答える 1

0

サンプルコードがない場合、おそらく問題は、Websocket クライアントがサーバーからの消防ホースによってフラッディングされていることです。

ほとんどの場合、処理の準備が整ったときに Websocket クライアントに次のフレームをポーリングさせることで、これを調整できます。これの利点は、アセット X のフレームのポーリングを停止し、アセット Y のフレームのポーリングを開始できることです。

もちろん、問題はクライアント側にあると想定しています...サーバー上でビデオ全体などをロードしていて、ビデオを「手放して」別のビデオに切り替えることができない場合、それは別の問題ですサーバ。

とはいえ、これは websockets のあまり良い使用例ではありません...それらは小さなデータパケットに最適です...これは単なる実験ですか?

于 2013-06-05T00:14:06.990 に答える