V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
yodhcn
V2EX  ›  问与答

像 QQ 音乐/ 哔哩哔哩 这样的音乐/视频平台,后端是怎么实现码率切换的?

  •  
  •   yodhcn · 2022-09-04 21:17:11 +08:00 · 1702 次点击
    这是一个创建于 571 天前的主题,其中的信息可能已经有所发展或是发生改变。
    像 QQ 音乐 / 哔哩哔哩 这样的音乐 /视频平台,是怎么实现码率切换的?

    提前将所有文件都转码一遍保存备用?还是像 plex 那样实时转码?
    有没有现成的后端组件?我不知道该检索什么关键词
    11 条回复    2022-09-06 05:28:12 +08:00
    kindjeff
        1
    kindjeff  
       2022-09-04 21:21:58 +08:00
    当然是离线做好的,为每个用户都付出这个转码成本也太高了
    TsubasaHanekaw
        2
    TsubasaHanekaw  
       2022-09-04 21:24:34 +08:00
    提前将所有文件都转码一遍保存备用
    这不是后端的事情.这是 cdn 的事情. 后端就推给服务器转码就行
    LxnChan
        3
    LxnChan  
       2022-09-04 21:25:32 +08:00
    应该都是审核结束之后就转好码了,不然这么大体量的平台实时转码暂且不提性能开销的问题,算力也没办法集中,分发就更麻烦事
    coolzjy
        4
    coolzjy  
       2022-09-04 22:40:11 +08:00
    主流 OSS 都提供多媒体资源处理功能的: https://developer.qiniu.com/dora/1248/audio-and-video-transcoding-avthumb
    Noicdi
        5
    Noicdi  
       2022-09-04 23:00:32 +08:00 via iPhone
    资源文件各种码率转一遍保存到服务器上,然后用户的协议根据带宽动态调整码率?比如 hls
    edis0n0
        6
    edis0n0  
       2022-09-05 00:43:40 +08:00
    当然是提前转码好,现在存储成本太低了
    ysc3839
        7
    ysc3839  
       2022-09-05 07:33:50 +08:00 via Android
    应该都是提前转码。印象中很久以前 B 站冷门视频是会少几个码率档次的。
    paopjian
        8
    paopjian  
       2022-09-05 10:05:31 +08:00
    服务器转码,不然 intel 不会退出 av1 编码加速器了,就是不知道价格
    hu8245
        9
    hu8245  
       2022-09-05 10:27:40 +08:00
    https://en.wikipedia.org/wiki/Adaptive_bitrate_streaming
    ABR 策略 + 每个码率都有一路,根据网络情况自动切换 bitrate
    zdw406
        10
    zdw406  
       2022-09-05 16:33:45 +08:00
    据我几年前工作过的某 OTT/IPTV 公司的做法,就是提前转好码,切换不同的码率播放不同的文件。
    我那时候就问过搞 cdn 的同学,大体是这个意思吧。
    ijrou
        11
    ijrou  
       2022-09-06 05:28:12 +08:00
    要实时转码也不是不行,但是要考虑多设备,各种环境的问题,这样的话,代码量更加大,维护更加麻烦,所以,一般都是转码后云对象存储,用户切换时实时改变请求地址就行了。。。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   959 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 20:37 · PVG 04:37 · LAX 13:37 · JFK 16:37
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.