咩咩的直播间
这里是咩咩的直播间。
你的用户名是:
弹幕历史
mpegts.js 估计延迟 2 秒。
如果无法播放,请刷新页面。
已经上 CN2 GIA 了,再卡自杀。现在不是 CN2 GIA,但是应该不卡。
直播内容
咩咩的完美复杂度理论教室
科普计算复杂度理论的相关知识,主要讲解计算机能解决什么问题以及
课程资料
https://notes.bleatingsheep.org/s/complexity-theory
订阅链接
计算机网络
科普计算机网络知识。
课程资料(包含录播等): https://notes.bleatingsheep.org/s/computer-network
订阅链接(但是可能没有人会用)
https://outlook.live.com/owa/calendar/00000000-0000-0000-0000-000000000000/078f1c11-205c-496e-996e-30b0a5b1ffc9/cid-D8FD15B2A646FB32/calendar.ics
游戏直播
每次从下面的游戏里选一个播,可以留言写下想看的游戏,或者在弹幕实时互动,我会播大家喜欢的那不就是黄油吗,这可不兴播啊(x
游戏列表(已过时,有待更新):
- 宝可梦 紫
- 节奏过山车
- 咩咩启示录
- 苏菲的炼金工房2
- 异度神剑3
- 奥日系列
- 八方旅人
- 三位一体4
- 马里奥系列(派对、银河、制造)
- Baba Is You
- 还有其他的小游戏
舞力全开没摄像头没场地
其他信息
推流参数:
一般是 CRF/CQP + 上限码率。具体参数经常更改,但上限码率一般在 10M 以内。
最近使用的参数:
- 编码器:AMD HW H.264 (AVC)
- CQP:20
- 视频码率:9920 Kbps
- 音频码率:320 Kbps
- Preset: Quality
- Profile: high
TODO:
解决线路切换问题降低延迟改用 DASH,不再使用 HLS加入弹幕加入聊天框显示最近的弹幕,以免错过以某种方式实现了……- 后台记录发送的弹幕
- 显示在线人数
增强弹幕功能健壮性:确保自动重连、离线或发送失败时提示用户弹幕很久没出过问题了已经,应该差不多了。
不换 DASH,改用 FLV 了,虽然不能自动切换清晰度,但是延迟低。
ArtPlayer 似乎是一个很好的替代,它可以编写代码来实现在切换清晰度时正确地销毁之前的实例,但我不想在前端上花太多工夫。工夫还是花了,播放格式和网络线路切换功能正在制作。
新 TODO:
断线重连大概完成了,出现无法重连的情况请告诉我重连后恢复之前的播放状态
调查 Firefox 刷新后无法播放的问题已缓解- 若出现此情况请清空缓存,或者换用 Edge
- 不同播放格式
HLS (for iOS)done- Webrtc(延迟比 mpegts.js 还要低)
- delayed
- SRS 音频格式转换会导致轻微的音视频不同步,推迟到 WHIP/WHEP
- 虽然 SRS 和 OBS 都支持 WHIP/WHEP 推拉流了,但是画面有时候会烂掉。怀疑是 UDP 丢包导致的,但是 iperf3 测试未发现丢包。继续推迟到 OBS 支持 TCP WebRTC
- 使用不同格式时显示不同的延迟信息(如 HLS 延迟较高)
- 需要学习不同 Vue 组件之间传递数据,以后再搞吧
加载并显示最近一段时间的弹幕显示并更改当前的用户名- 暂停后,缓冲过长时销毁播放器,并在恢复播放时重新加载
mpegts.jsdone- 问题:缓冲达到一定长度时会自动断开连接,此时自动追进度功能失效,并且缓冲区快耗尽时 mpegts 会尝试 seek,而 SRS 不支持此操作(或者说此操作不适合直播场景),导致卡住
- 解决方法:播放时或者从暂停恢复时检测,如果连接已经中断(或者缓冲区大于某个长度,这个长度必须小于 mpegts 断开连接时的缓冲区长度),就销毁播放器重新加载
- Hls.js
- 问题:暂停后,自动追延迟功能会一直往前追,在用户未观看时一直消耗流量。此问题不会导致播放卡住
- 解决方法:需要详细查阅 Hls.js 是否有灵活禁用追延迟 feature 的开关,或者在外部控制一定时间后销毁播放器
切换格式、节点- 界面修缮(让视频的宽度超过文字,这样在不全屏的情况下视频会更大)
iOS 默认使用 HLS已部署检查代码,需要有 iOS 系统的人测试
软件
- 播放器:ArtPlayer
- 直播前台:https://github.com/b11p/live-vp
- 直播后台:SRS
- 弹幕后台:https://github.com/b11p/bleatingsheep.Danmaku(自制)
直播间申请
前端太难了 qwq
虽然现在的代码还是很乱,但是应该不需要改很多代码来添加新的直播间。如果你也想要一个直播页面,可以联系我添加。
例如:MyGO
4K 直播测试(能否播放取决于网络、设备等因素):4K