不久前朋友结婚,给我提了个要求,希望能将婚礼主会场的实况做成直播让三个包间也能够观看。
我记得再早几年,有个韩国朋友在广州举行婚礼用的是腾讯会议的直播系统,要想省事的话,直接问问他当时怎么做的即可,不过绕不开的就是注册登录一系列腾讯的账号,但我多年来都是能不用国内服务的尽量不用,所以还是研究一下有没有别的方案。
提前去会场了解了下那边的网络情况和现有设备,他们用的是小鱼易连的会议系统,但是他们也没有交更多的钱开更多的客户端,除了音控室的一台硬件设备之外,就只能再登录一个账号了。
我看了一下小鱼易连的硬件设备,是一套硬件盒子,外接一个球形摄像头和一个全向麦克风。
刚好前不久我买了一个采集卡设备,于是回家带上了笔记本、采集卡就回到了会场,接上采集卡之后发现没有声音,再仔细看了看小鱼的设备与连线,我猜测它输出的 hdmi 本身就不包含音频信号,于是把方案改为在他们的监控机上直接用小鱼的客户端呼叫,这样声音和画面都有了,然后再用 OBS 给直播出去。
找到了 smart_rtmpd,准备先测试一下 windows 的版本,直接在内网直播。打开 OBS,设置了源为窗口画面,在直播设置里填上了内网地址,开始推流,OBS 显示成功运行的状态,然后就用平板打开 kmplayer 来访问,结果访问不了,很奇怪,是防火墙还是 ip 的问题呢?尝试 ping 了一下后发现,一定是路由器设置的问题,可能为了防止 ARP 风暴,网管应该是禁止局域网内 ip 互联的,既然这样,没办法了,只能推到外网去,再从外网来看直播。
于是换了一款叫 livego 的系统,官方还带 Docker 的配置,更简单,于是拉取、运行,发现还是连不上,没那么多时间去排查了,又换,还是换回 smart_rtmpd,因为这个也有 linux 下的版本。
下载 rtmpd.zip 后解压,得到了各个平台下的可执行文件,找到 Linux 下的,直接运行:
./smart_rtmpd &
就把服务器给运行起来了,再放行1935端口即可。
ufw allow 1935/tcp
现在再到 OBS 里去设置一下直播地址和路径,运行,出现绿色状态提示即可。
尝试用我买的 MiPad 4 的 KMPlayer 来播放,成功出现了画面。
接下来要做的就是解决那三个包间的播放端的问题了。
说到这里不得不说一下遇到的另一个坑,测试当天我带了三个刷过机的盒子,分别是垃圾华为的 EC6108V9(Hi3798M)、中兴的 ZXV10 B860AV1.1(mso9280)、咪咕的MGV2000(S905L)。当时没太在意 CPU 的区别,就顺手测试了一下 MGV2000 的播放,装上 EasyPlayerPro 之后,接了个鼠标来输入播放地址(不支持红外遥控器操作),成功出现了画面和声音之后就收工了,忘记测试一下另外两个盒子有没有问题。
结果婚礼当天早上把服务端都搞定后来弄三个包间的安装和调试才发现,能顺利播放的只有那个咪咕的盒子,时间这么紧张了我哪里还有心情去排错?幸好家里还有两个刷了机的 N1(S905D) 盒子,马上赶回家带上 N1 盒子回到酒店,安装好 EasyPlayerPro ,填好直播地址,画面和声音出现了。
Good!
几千元省到手,又一次为经济做出了负面贡献。
所用软件: