实验17-3:实时互动直播技术

场景:虚拟主播“妙想”在成都非遗直播间开播。本页是主播端。点“打开观众端”会新开一个标签页当观众:观众发的弹幕和礼物通过浏览器广播通道实时送达,观众端的画面按所选协议的典型延迟落后于主播端,可以直观看到“弹幕比画面快”的现象。

主播控制台

送礼物

实时数据

1在线窗口(真实)
0弹幕
0礼物币值
--画面延迟(秒)
--消息通道实测(ms)
0放不下被丢弃

礼物排行榜

还没有人送礼物
我方 0
对手 0
未开播
未开播

每 10 秒弹幕数

技术原理

两条通道:音视频走媒体流(推流 → 转码 → CDN 分发),弹幕和礼物走独立的消息通道(通常是 WebSocket 长连接)。消息通道只有几十毫秒延迟,而 HLS 这类切片协议要先攒够几个分片才能播放,所以观众常会先看到别人的弹幕,再看到画面里发生的事。

弹幕排轨:屏幕按行高分成若干轨道,新弹幕只放进“前一条已经完全进入屏幕、并且在离开前不会被新弹幕追上”的轨道(长弹幕跑得更快,要做追尾检查)。所有轨道都占满时就丢弃,这就是弹幕密集时有的弹幕不显示的原因。

弹幕过滤:发送前先过敏感词表,命中的字用星号替换。连麦 PK 的分数按 PK 期间实际收到的礼物币值累计(对手直播间是模拟的)。