历史直播弹幕前后端应该如何传递?

2020-01-13 09:44:06 +08:00
 FaiChou

直播弹幕都是 ws 连接, 但是直播回放中的弹幕前后端是怎么同步用户当前观看位置与弹幕的呢?

  1. 弹幕录制到视频中 ❌ 无法关闭弹幕
  2. ws 连接, 前端每秒给后端回掉当前位置, 后端返回弹幕
  3. 前端每秒调用 API 请求, 发送当前观看位置, 后端返回这一秒内出现的弹幕

看了 b 站的弹幕设计, 每秒给后端一次 heartbeat, 但是没有看到后端如何返回, 应该是 ws ?

一个直播回放弹幕系统应该如何设置? 先考虑直播视频 2 小时, 弹幕万条以内的情况, 直播有移动端与 web 端.

3937 次点击
所在节点    程序员
14 条回复
xmumiffy
2020-01-13 09:45:46 +08:00
回播就按照弹幕频率限制直接返回所有弹幕
zhaoFinger
2020-01-13 09:45:59 +08:00
弹幕对应直播的时间轴存下就可以了
FaiChou
2020-01-13 09:50:39 +08:00
@zhaoFinger 难道一个 API 请求把所有弹幕返回吗?
FaiChou
2020-01-13 09:51:40 +08:00
@xmumiffy 这样会不会太多了? 比如 b 站新宝岛这个视频弹幕会特别大.
januariusming
2020-01-13 09:56:26 +08:00
搞个弹幕上限啊 b 站都是最多 8000
BigPig666
2020-01-13 10:03:33 +08:00
肯定不会返回所有弹幕,有比例返回的,盲猜有一定的推荐算法?
Amit
2020-01-13 10:03:41 +08:00
弹幕其实就是字幕吧,根据时间坐标取一段时间的列表数据量应该不会很大,而且还可以做一些压缩,比如“哈哈哈”x3
FaiChou
2020-01-13 10:04:50 +08:00
@januariusming 第一次搞直播的需求.
弹幕上限可以, 哪些弹幕改保留哪些该遗弃?
Vegetable
2020-01-13 10:18:47 +08:00
这不就是哔哩哔哩就行了嘛?哔哩哔哩视频打开弹幕列表不都加载好了吗?还请求啥玩意?
FaiChou
2020-01-13 10:21:23 +08:00
@Vegetable 对呀, 我才想起来, 右边还有弹幕列表呢.. 平时不太注意, 一时间也没考虑到
xmumiffy
2020-01-13 11:18:41 +08:00
@FaiChou 所以不是加了“弹幕频率限制”么
FaiChou
2020-01-13 12:04:26 +08:00
@xmumiffy 是的, 谢谢
YUyu101
2020-01-13 12:52:43 +08:00
回播和普通视频没什么区别吧,按时长给弹幕上限,每小时给个几千。
liuxu
2020-01-13 13:14:31 +08:00
时间戳校验,分页读取,视频流,音频流,字幕,弹幕都是一个原理

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

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

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

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

© 2021 V2EX