是这样的,本人接手了一个爱好者之间的 Apex Lengends 比赛直播的委托,我作为主台 OB 观赛。
上一次我办类似直播活动是常规手段,所有人看我的电脑,然后解说呆在一个开黑频道,看各自的观赛位。
我们是怎么协调要看哪一个队伍的视角呢?纯靠讲,某一个解说发现了亮点,他就会在开黑频道里提醒大家,现在我们视角转到 XXX 队伍,然后包括我在内的所有解说立马打开 M 键地图找队伍位置,然后跳转过去。
这是最原始最省事的方法,但这种操作方式终归还是会带来大概 2-3s 的延迟,难以捕捉到最即时的对战画面。
因此,我在寻求一个个人用户能够搭建的,类似正规赛事的多机位导播台,让所有的解说都把他们的电脑画面集中推流到我这里,然后让我来负责画面切换,这样相比在游戏里找队伍会更加及时。
目前来讲,我这边的相关条件有:
寻求一个方案,能使得其它用户的 OBS 输出画面能以尽可能低的延迟传输到我这里来
目前找寻到的主要方案(抛开那些乐色闭源软件)主要有两个派别:
低延迟服务器中转推流:搭建一个类似 OSSRS 的后台,目前可用的项目有OSSRS和Broadcast Box,他们基本上原理类似,需要让用户推流到中转服务器上,然后由我通过 WebRTC 协议拉流获得用户的画面。
优点:WebRTC 协议延迟非常低,操作对推流用户友好,只需要换个推流地址(可能顺便要换个客户端)
缺点:WebRTC 的推流强制要求 HTTPS,导致海内中转服务器虽然效果好,但因为备案问题难以实施;而海外 WebRTC 中转服务器可以打通链路,但延迟情况不明(一旦有部分用户的 NAT 状况太差没办法走 WebRTC 的 P2P ,我猜可能会回落到中转模式?或者根本无法连接,总之海外方案的可靠性未知,我对 WebRTC 协议的细节不是非常了解)
NDI 模式:走OBS-ndi的组网协议,让其它用户通过内网穿透异地组网的方法与我构建成一个 NDI 网络,我直接通过 NDI 获得他们的画面。
优点:成熟方案对我来说省事,并且据称 NDI 的延迟效果也有毫秒级,因为面向的是专业视频工作流所以画质很好
缺点:对用户来说组网复杂,我要手把手引导他们一个个安装 NDI 插件、加入 Zerotier 网络和 Moon
两种方案的优缺点都挺明显的,我在寻求更优的方案,或者针对这些方案问题的解决方法,有 V 友有相关的经验或者思路吗?
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.