V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
liuhuihao
V2EX  ›  视频技术

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

  •  
  •   liuhuihao · 2020-06-10 18:07:28 +08:00 · 3164 次点击
    这是一个创建于 1626 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

    MSE SourceBuffer is full, suspend transmuxing task

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

    5 条回复    2020-06-10 20:06:58 +08:00
    kiracyan
        1
    kiracyan  
       2020-06-10 18:42:55 +08:00
    B 站好像是服务端缓存的
    xmumiffy
        2
    xmumiffy  
       2020-06-10 18:46:55 +08:00 via Android
    直播暂停了那就可以把直播流关了就显示个当前页面的截图就行了
    gzfrankie
        3
    gzfrankie  
       2020-06-10 18:50:20 +08:00 via iPhone   ❤️ 1
    服务器缓存,你看的直播其实是一个不断更新的录像。像 twitch 那样,你随时打开直播都可以拉到最初重头开始看。
    murmur
        4
    murmur  
       2020-06-10 18:51:56 +08:00
    想一想看服务端缓存也是合理的,毕竟要接受监管留证据
    banliyaya
        5
    banliyaya  
       2020-06-10 20:06:58 +08:00 via iPhone
    b 站的直播暂停了点继续会接着播放,像斗鱼好像就是会刷新显示最新的
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2701 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 09:55 · PVG 17:55 · LAX 01:55 · JFK 04:55
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.