V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
liuhuihao

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

  •  
  •   liuhuihao · Jun 10, 2020 · 4021 views
    This topic created in 2157 days ago, the information mentioned may be changed or developed.

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

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

    MSE SourceBuffer is full, suspend transmuxing task

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

    5 replies    2020-06-10 20:06:58 +08:00
    kiracyan
        1
    kiracyan  
       Jun 10, 2020
    B 站好像是服务端缓存的
    106npo
        2
    106npo  
       Jun 10, 2020 via Android
    直播暂停了那就可以把直播流关了就显示个当前页面的截图就行了
    gzfrankie
        3
    gzfrankie  
       Jun 10, 2020 via iPhone   ❤️ 1
    服务器缓存,你看的直播其实是一个不断更新的录像。像 twitch 那样,你随时打开直播都可以拉到最初重头开始看。
    murmur
        4
    murmur  
       Jun 10, 2020
    想一想看服务端缓存也是合理的,毕竟要接受监管留证据
    banliyaya
        5
    banliyaya  
       Jun 10, 2020 via iPhone
    b 站的直播暂停了点继续会接着播放,像斗鱼好像就是会刷新显示最新的
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   4298 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 568ms · UTC 04:14 · PVG 12:14 · LAX 21:14 · JFK 00:14
    ♥ Do have faith in what you're doing.