前言
由于之前用了四五年的老采集卡直播一段时间就会出现音画不同步的情况,近期我购入了近期新芯片方案的采集卡。而此前双机推流的推流机(8750H
笔记本)无法继续胜任编码任务,在 OBS 推流时提示 编码过载
,本着勤俭节约的美德,考虑使用手头现有的其他设备担当推流机。
经过捣鼓,M 芯片的 MacBook Air 用 macOS 版的 OBS 完全可以实现目标(毫不意外),但感觉用 MacBook 直播还是有些繁琐;而 “你的下一台电脑何必是电脑”,iPadOS 17 也更新了对于 UVC camera 的支持,我很好奇 M 芯片的 iPad 能否担此重任。目前网络上并没有太多相关的资料,因此有了这篇文章,记录一下我自用的 iPad 推流方案,希望能给后来人提供一些灵感和启发。
采集卡选购
参考了视频 BV1RT421a7HA,根据需求选择了 AXD2900
+ LT86102
的较新方案,支持 4K60、2K144 和 1080P240 输入/环出/采集,刚好符合我正在使用的 2K144 显示器。
推流路线
某直播平台强制要求使用官方客户端推流,但并不支持非 Windows 系统。好在其支持第三方推流,提供了一个本地 rtmp 地址,此前通过 OBS 推到这个地址就可以了。由于这个客户端并不怎么占用 CPU 和 GPU 资源,可以运行在本机而几乎不影响本机的性能,因此我们可以在本机启动官方客户端,再让推流机通过内网推到这个地址。具体而言,视频流如下所示:
本机(或 PS5)视频输出 -> 采集卡环出到显示器、采集到推流机 -> 推流机编码-> 本机客户端上传
如果这里的推流机是 Windows 或 macOS 等 OBS 支持的系统,那直接用 OBS 编码和推流就行,此处不再赘述。但麻烦在于 OBS 并不提供 iPadOS 版,因此以下给出一个 iPad (M1) 的编码推流方案。
iPad 上的 OBS alternative
在 AppStore 中找到一个能够媲美 OBS 的应用是最困难的事,由于 iPadOS 对 UVC 的支持比较新,很多应用还并没有支持。我尝试了 Camo Studio
可以实现 UVC 视频流和音频流的采集,也可以 rtmp 推流,但其视频选项非常少,只能选择分辨率和帧率,实测 1440P 码率只有 4M 左右,直播画面非常糊。
随后我找到了一个开源应用 Moblin
,提供了非常全面的视频支持(包括分辨率、帧率、码率、编码等),而且可自定义的选项非常多,上架了国区 AppStore,经过一番设置成功使 iPad 胜任了“便携推流机”。
但在使用中也发现 Moblin
有以下缺点:
- Video 没有 1440P,只有
1280x720
、1920x1080
和3840x2160
的分辨率选项; - 简体中文是机翻,并且没有软件内选择语言的选项,建议设置整台 iPad 的语言为英语来使用。
之后我看看能不能贡献一下简体中文的翻译,对于好用的开源软件还是应该积极推广和支持。
其他
采用以上方案时实测 iPad 耗电非常多,试播 40 分钟大约消耗了 34% 的电量。采集卡必定占用唯一的 type-c 接口,因此可以考虑买一个带 type-c 充电的扩展坞,一方面扩展 USB 口来连接采集卡,另一方面如果无线局域网环境比较差也可以通过有线将 iPad 与本机连接,现在 iPad 也是支持以太网的,最大程度保证网络的稳定性。
2024.09.23 更新
已经初步制作了简体中文翻译,并 merge 进主线。