最近产生了这么个需求:通过网络传输usb麦克风(Blue Yeti)的音频供OBS(v30.0)直播使用。
经过一番科研,我觉得开发板接麦克风,然后通过VBAN协议传输给OBS端是个不错的方式,在此记录一下实现方式。
我买了个二手树莓派4B 4GB,卖家认为它坏了,说开机绿灯闪四下,无法启动。我决定试试我的运气。买来拿官方映像刷写程序直接刷了个64bit桌面系统(6.6.31内核)插上去试试,结果顺利点亮了,非常莫名。绿灯闪四下可能是根本没有认到tf卡,也许是卡槽有点问题。
趁着板子还能用,赶紧科研起来:
首先安装编译所需的依赖包
sudo apt install build-essential git cmake libasound2-dev autoconf automake libtool libpulse-dev libjack-jackd2-dev
然后开始编译
git clone https://github.com/quiniouben/vban.git cd vban ./autogen.sh ./configure make sudo make install
然后找到麦克风的device name (https://github.com/quiniouben/vban/issues/26)
arecord -L
启动emitter,这里-i指定接收音频设备的ip(OBS直播机),-s是推流名称,-d是设备名
vban_emitter -i 192.168.1.195 -p 6980 -s rpi4bvban -d hw:CARD=Microphones,DEV=0
在直播机上安装vban插件(https://obsproject.com/forum/resources/vban-audio-plugin.1623/),解压后放到obs对应文件夹里。
插件安装完了之后就可以在OBS里设置VBAN Audio Source,也是设定端口,推流名,和树莓派的IP。
测试稳定后把vban_emitter做成服务开机启动就行了,我打算重装个CLI的树莓派OS,桌面好像有点浪费资源,对我这个use case毫无作用。
另外,在不做任何参数调整的情况下,这个stream占用1.5Mbps带宽。
edit:运行了一个多月,非常稳定。