B 站 直播的暂停功能实现原理的疑问

2020-06-10 18:07:28 +08:00
 liuhuihao

最近公司在做 视频直播这块,本人之前也没有接触过这块,看了几天 MSE 、flv.js 等相关的东西。有个以为想请教下各位大佬

我这边尝试使用了 flv.js 、Hls.js 库,其中都有一个没有解决的问题,就是 直播被暂停之后,过一段时间(大约 10min)会导致 SourceBuffer 满了这种情况,flv.js 会报

MSE SourceBuffer is full, suspend transmuxing task

诸如此类,但是我尝试了一下 Bilibili 的直播,发现它可以实现很长时间的直播暂停功能,有没有大佬知道这块的实现原理啊?

3139 次点击
所在节点    视频技术
5 条回复
kiracyan
2020-06-10 18:42:55 +08:00
B 站好像是服务端缓存的
xmumiffy
2020-06-10 18:46:55 +08:00
直播暂停了那就可以把直播流关了就显示个当前页面的截图就行了
gzfrankie
2020-06-10 18:50:20 +08:00
服务器缓存,你看的直播其实是一个不断更新的录像。像 twitch 那样,你随时打开直播都可以拉到最初重头开始看。
murmur
2020-06-10 18:51:56 +08:00
想一想看服务端缓存也是合理的,毕竟要接受监管留证据
banliyaya
2020-06-10 20:06:58 +08:00
b 站的直播暂停了点继续会接着播放,像斗鱼好像就是会刷新显示最新的

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/680424

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX