Canlı yayın akışını web üzerinden yürütmek için Ortam Kaynağı Uzantısı (MSE) API'sini kullanmayı denedim. Her şey iyi çalışıyor, tarayıcı yaklaşık bir gün boyunca çökecek. Ayrıca hafızanın her zaman artacağını keşfettim. Aşağıda snippet'im var. Sanırım çok fazla veri ekliyorum, böylece bellek her zaman artacak ve bu da Chrome için anormal davranışlarla sonuçlanacak. Bellek sızıntısını önlemek için MSE/video arabelleğini MSE API aracılığıyla serbest bırakmak mümkün mü?Ortam Kaynağı Uzantısı videosu çöktü (Bellek sızıntısı)
OS: Windows 7 SP1 64 bit Windows 10 64 bit birkaç saniye tutarak, önceden oynanmış içeriği kaldırmak için
var buffer_size = 5*1024*1024;
var buffer_index = 0;
var video = null;
var frag_mp4_buffer = new Uint8Array(buffer_size);
websocket.onmessage = function(evt){
var buffer = new Uint8Array(evt.data);
if(buffer.length !=0){
if((buffer_index + buffer.length) <= buffer_size){
frag_mp4_buffer.set(buffer, buffer_index);
buffer_index = buffer_index + buffer.length;
if(sourceBuffer.updating == false){
var appended = frag_mp4_buffer.slice(0,buffer_index);
sourceBuffer.appendBuffer(appended);
frag_mp4_buffer.fill(0);
buffer_index = 0;
}
}
}
};