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

2022-09-04 21:17:11 +08:00
 yodhcn
像 QQ 音乐 / 哔哩哔哩 这样的音乐 /视频平台,是怎么实现码率切换的?

提前将所有文件都转码一遍保存备用?还是像 plex 那样实时转码?
有没有现成的后端组件?我不知道该检索什么关键词
1825 次点击
所在节点    问与答
11 条回复
kindjeff
2022-09-04 21:21:58 +08:00
当然是离线做好的,为每个用户都付出这个转码成本也太高了
TsubasaHanekaw
2022-09-04 21:24:34 +08:00
提前将所有文件都转码一遍保存备用
这不是后端的事情.这是 cdn 的事情. 后端就推给服务器转码就行
LxnChan
2022-09-04 21:25:32 +08:00
应该都是审核结束之后就转好码了,不然这么大体量的平台实时转码暂且不提性能开销的问题,算力也没办法集中,分发就更麻烦事
coolzjy
2022-09-04 22:40:11 +08:00
主流 OSS 都提供多媒体资源处理功能的: https://developer.qiniu.com/dora/1248/audio-and-video-transcoding-avthumb
Noicdi
2022-09-04 23:00:32 +08:00
资源文件各种码率转一遍保存到服务器上,然后用户的协议根据带宽动态调整码率?比如 hls
edis0n0
2022-09-05 00:43:40 +08:00
当然是提前转码好,现在存储成本太低了
ysc3839
2022-09-05 07:33:50 +08:00
应该都是提前转码。印象中很久以前 B 站冷门视频是会少几个码率档次的。
paopjian
2022-09-05 10:05:31 +08:00
服务器转码,不然 intel 不会退出 av1 编码加速器了,就是不知道价格
hu8245
2022-09-05 10:27:40 +08:00
https://en.wikipedia.org/wiki/Adaptive_bitrate_streaming
ABR 策略 + 每个码率都有一路,根据网络情况自动切换 bitrate
zdw406
2022-09-05 16:33:45 +08:00
据我几年前工作过的某 OTT/IPTV 公司的做法,就是提前转好码,切换不同的码率播放不同的文件。
我那时候就问过搞 cdn 的同学,大体是这个意思吧。
ijrou
2022-09-06 05:28:12 +08:00
要实时转码也不是不行,但是要考虑多设备,各种环境的问题,这样的话,代码量更加大,维护更加麻烦,所以,一般都是转码后云对象存储,用户切换时实时改变请求地址就行了。。。

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

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

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

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

© 2021 V2EX