bilibili / flv.js

HTML5 FLV Player
Apache License 2.0
22.89k stars 3.39k forks source link

MSE内存问题 #188

Open joastonish opened 7 years ago

joastonish commented 7 years ago

linux下火狐MSE内存任然增长,edge 3个小时候好像会自动清理。请问作者,是否有接口可以调用定时清理?

xqq commented 7 years ago

Edge 3分钟 FireFox 100M https://github.com/Bilibili/flv.js/commit/43534eb8f143cfe27fe624d4a1d1f03ee7ef3aa3 autoCleanupSourceBuffer 直播流默认开启

joastonish commented 7 years ago

设置后查看内存。发现任然继续增长,从mem 9.2% 到17.2% 直播了24个小时

xqq commented 7 years ago

chrome fetch实现可能有潜在的内存泄露,可尝试flash-stream-loader分支

joastonish commented 7 years ago

好的。我试试,我下的1.3.2的版本。火狐在全部设置后播放到50个小时后报了MSE SourceBuffer is full, suspend transmuxing task 然后屏幕视频变成灰色,这个是在干嘛呢?

xqq commented 7 years ago

播放进度比拉流进度慢?导致剩余的数据过多触发buffer full

joastonish commented 7 years ago

那个这个问题有办法解决么。我用了flash-stream-loader分支在chorme下依然是2个半小时就崩溃,火狐内存还是只涨不跌,就是edge能自己3个小时自己刷新保持正常播放。

joastonish commented 7 years ago

对了。关于MSE SourceBuffer is full的问题,能不能改成,如果到一半的内存了。那么直接从最新的开始重新播放,释放内存数据。这样直播流就能顺利往下走了。不知道我这样的理解对不对