flv.js icon indicating copy to clipboard operation
flv.js copied to clipboard

16屏播放,页面大概率崩溃

Open zhang421755327 opened this issue 2 years ago • 6 comments

在16屏播放时,多次播放销毁后,页面经常崩溃,经过debug flv.js,查看具体报错信息显示Failed to executed 'apppendBuffer' on 'SourceBuffer' : The SourceBuffer is full, and cannot free space to append additional buffers, 播放flv.js配置如下: const mediaDataSource = { type: 'flv', isLive: true, hasVideo: true, hasAudio: true, url: params.url, } const config = { enableStashBuffer: false, stashInitialSize: 128, isLive: true, fixAudioTimestampGap: false, autoCleanupSourceBuffer: true, autoCleanupMaxBackwardDuration: 9, autoCleanupMinBackwardDuration: 6 } 请问有人碰到过类似问题吗?或是有什么解决办法

zhang421755327 avatar Aug 03 '21 01:08 zhang421755327

好像建议一个页面最好不超过6个实例

stark-jarvis avatar Oct 19 '21 01:10 stark-jarvis

兄弟,你是怎么实现16屏播放的?

shady-xia avatar Jul 05 '22 08:07 shady-xia

flv.js 和hls.js 视频传输都是走的http协议,chrome http最大链接数是6,不能播16屏;可以考虑ifram 嵌入就可以的;但是如果你播放1M码率的视频流 传输时 最小16Mbps 大概率会卡的;也可以考虑走 websoket 据说这个最大限制255

wangchuankai avatar Jul 05 '22 08:07 wangchuankai

flv.js 和hls.js 视频传输都是走的http协议,chrome http最大链接数是6,不能播16屏;可以考虑ifram 嵌入就可以的;但是如果你播放1M码率的视频流 传输时 最小16Mbps 大概率会卡的;也可以考虑走 websoket 据说这个最大限制255

多谢,我在尝试9路视频,先试试http2.0,如果不行就上websocket了

shady-xia avatar Jul 05 '22 08:07 shady-xia

flv.js 和hls.js 视频传输都是走的http协议,chrome http最大链接数是6,不能播16屏;可以考虑ifram 嵌入就可以的;但是如果你播放1M码率的视频流 传输时 最小16Mbps 大概率会卡的;也可以考虑走 websoket 据说这个最大限制255

多谢,我在尝试9路视频,先试试http2.0,如果不行就上websocket了

要超过6路播放需要后端支持,可以让后端返回的播放URL地址端口不一样,这样每个端口不超过6个就能避免这个问题

zhang421755327 avatar Aug 09 '22 10:08 zhang421755327

谷歌浏览器最多六路http,火狐能设置为任意数量,不过我亲测16个直播画面会出现非延迟性的卡顿,cpu也没跑满

hunt-jo avatar Aug 15 '22 03:08 hunt-jo