私はいくつかのライブカメラのフィードを持つ内部サイトを表示するためにFirefoxを実行している低メモリデバイス(いくつかの格安Windowsタブレット)を持っています。サイトはFirefoxをクラッシュさせ続けており、それはブラウザがそれぞれ作成したすべてのBlob
を保存しているためと思われる。また ブラウザがブロブを保存しないようにするにはどうすればいいですか?
のスクリーンショット:添付
setInterval(function() {
if (frontShown) {
fetch('http://192.168.7.2:888/image/Main').then(function (response) {
return response.blob();
}).then(function (myBlob) {
var objectURL = URL.createObjectURL(myBlob);
FrontDoorVideo.src = objectURL;
});
} else {
fetch('http://192.168.7.2:888/image/Back').then(function (response) {
return response.blob();
}).then(function (myBlob) {
var objectURL = URL.createObjectURL(myBlob);
BackDoorVideo.src = objectURL;
});
}
}, 500);
はクロームデベロッパーツールでソース]タブを埋めるBlobs
のスクリーンショットです:以下は、私はそれが最新のフレームにいくつかのサーバーをつかんされている区間がありますネットワーク]タブ:
どのように私はこれらのブロブの全てをキャッシュからブラウザを防ぐのですか?私は、新しいフェッチごとにキャッシュから削除するサービスワーカーについて考えていました。
を、あなたのサーバが応答してキャッシュなしヘッダを送信設定する必要があります。 GCがBLOBのデータを収集するようにすると、BLOBURIは不要になった時点で取り消されます。しかし、実際には、なぜBlobとしてリソースを取得するのですか? mjpegストリームを送信していて、 ''タグでストリーム自体を処理させると、必要でないものはロードされません。 – Kaiido
サーバーが送信するヘッダーを制御しないため、キャッシュヘッダーを送信できません。だから私は 'src'をURLにまっすぐに設定しようとしましたが、デスクトップのChromeでは動作しましたが、WinBookタブレットでは画像はキャッシュされて更新されませんでした。 – GPinskiy
しかし、これらの画像はipカメラから来ていますか?あなたはそれとそのサーバー上のコントロールを持っている必要があります、そうでなければそれを放棄してください、それはあなたの私生活の巨大な穴です。ボンネットの下では、おそらく[モーション](http://htmlpreview.github.io/?https://github.com/Motion-Project/motion/blob/master/motion_guide.html)のようなものを使用して静止画像を生成しますあなたは得る。デフォルトでは、これらのカムのほとんどは、ブラウザごとに1つの[mjpeg](https://en.wikipedia.org/wiki/Motion_JPEG)ストリームを生成し、ブラウザはそのままでレンダリングできます。 setIntervalまたはfetchを実行します。 – Kaiido