前言
首先恭喜音MAD活动 MADCORE.wav 圆满落幕!
可惜本次活动我没去现场,哈哈。不过本次活动我主持了 Minecraft 服务器转播活动 MINECORE.jar,游戏录像可以在这里看到。
接下来我来说一下做转播选择的方案以及踩到的坑。
转播方案一
准备工作
方案一比较复杂,而且实测效果并不好。
转播链路如下:
B站直播源 -> [上海某处公网服务器 Streamlink -> MediaMTX] -> [托管Minecraft的公网服务器 WATERFrAMES模组]
需要准备如下软件:
- Streamlink
- FFmpeg
- MediaMTX
- 模组 CreativeCore 客户端与服务端均需安装
- 模组 WATERFrAMES 客户端与服务端均需安装
- 模组 WATERMeDIA及其依赖 仅客户端安装
其中 Streamlink 和 FFmpeg 需要手动添加到系统变量里,这里就不再赘述了。
配置 MediaMTX
我让 GPT 5.6 给我写了配置文件。
1 | # \mediamtx\mediamtx.yml |
然后在终端里输入 mediamtx.exe mediamtx.yml 即可启动。
需要注意:记得设置出站规则 协议 TCP 端口 8888,否则在 MC 里无法访问推流。
配置 Streamlink
我让 GPT 5.6 给我写了中继脚本,AI 太好用了你知道吗。
1 | # \scripts\relay-bilibili.cmd |
直接双击打开就行,别用 PowerShell 打开。
测试
本机内可以在浏览器内输入网址 http://127.0.0.1:8888/bilibili/index.m3u8 测试推流是否正常。
缺点
实际跑起来画面很卡,可能有优化空间但是感觉不如接下来这个方案。
还有输入网址的时候有概率崩端,保险做法是直接把网址粘贴进去。
转播方案二
直接在大家的电脑里塞一个 CEF 框架,哈哈。
需要安装如下内容:
- 模组 WebDisplays 客户端与服务端均需安装
- 模组 MCEF 仅客户端安装
直接弄个屏幕然后输入网址就完事了,虽然所有人访问同一个网址,但是实际内容有差别,最好给每个人发一个激光笔让他们自己调。
缺点
MCEF 初次启动时会下载大量资源,然而在国内没有镜像,导致下载的特别慢。
本质就是在游戏画面内塞一个网页,而且只能让所有人同时看一个网页,网页的具体内容因人而异(因为浏览器在端侧)。
很吃内存。
音量不受游戏控制(需要自己在系统的音量合成器里调整 JCEF 的音量)。
WebDisplays 有概率会在你进入服务器的时候直接崩端,不知道什么毛病,得多次重新进服。
总结
在 MC 里搞转播就是一个坑,没有受虐癖别搞。