欢迎光临散文网 会员登陆 & 注册

如何用100块的云服务器配合OBS搭建无人值守LoFi电台

2022-12-15 03:18 作者:policeman0077  | 我要投稿

可能很多人不知道QQ有个一起听歌的功能,我之前经常在群里开这玩意放我自己喜欢听的歌。
然后差点被群主给t了。为了解决这种尴尬的情况,我决定直接在b站上直播lofi电台放自己喜欢听的歌。

因为人不在国内,之前直播都是通过在国内的云服务器上开魔法配合OBS直播。这样弄我试下来比Malus要稳定很多也便宜很多,Malus一年大约400,腾讯买个云服务器的话(2核 4g 6mbps)只要100块。实际推流720p,看b站1080p的视频没有什么问题。

回国直播架构

如果是真人在线直播的话这样可能就是比较好的解决方案了。但我的需求比较特殊,只是用来循环播放lofi音乐,并不需要实时的互动。这样直播了一段时间以后发现几个问题:一是,我必须一直开着推流的电脑。二是,有时候魔法连接不是很稳定,基友上来听的时候和我说很卡。

就在和沙雕群友吹水的过程当中, @saintrecon 提醒我说为啥不把OBS直接装魔法服务器上推流,这样直接省去一道从国外传输到国内服务器的过程,还不用开电脑。


将obs直接装在云服务器上

只能说还是沙雕群友思路多。我的格局还是太小了被局限在通常的解决方法上。因为大多数直播的情况下推流的电脑肯定是自己家里的电脑。很少有我这种循环放LoFi的需求可以在一个无人值守的云服务器上干这个事情的。

但是问题又来了。我的云主机是一个虚拟机,并没有显示器和GUI界面而OBS是一个GUI程序。所以第一个要解决的问题是给云主机安装图形界面并能通过远程登录的方法来访问服务器。(后面发现可能还有更简单更省资源的方法比如用PyLivestream 去调用FFmpeg github.com/scivision/Py 不过因为我已经弄好了GUI的界面,目前懒得折腾了等以后有空再说吧)

这里我推荐用XFCE做GUI因为系统占用比较小。然后安装一个VNC Server来远程登录GUI界面。VNC有点类似Windows的远程桌面。我这里装的TightVNC。我发现TightVNC还有个好处他似乎是能够虚拟一个屏幕给Linux的,所以当你的VNC Client关闭以后OBS也还是在运行的。我不知道其他VNC Server是不是也是有类似的效果,有玩过的大佬在评论里说说。

安装过程可以参考:

https://www.vultr.com/docs/install-gui-environment-for-ubuntu/

https://www.vultr.com/docs/create-a-streaming-server-with-obs-and-ubuntu/

需要注意的是安装OBS和一些其他软件的时候最好不要用SNAP的包,最好去官网下原来的安装程序。不知道为什么我用SNAP的包似乎在VNC下运行会遇到权限问题,导致程序不能运行。

等全部安装完以后就可以远程登录云主机用OBS直播了

VNC远程登录云服务器并用OBS直播LoFi

当然如果你不是用OBS的media source直接播放带有lofi音乐嵌入的视频你还会遇到一个问题:就是云主机没有声卡。这时你就要一个loopback device。其实linux的ALSA驱动是带一个loopback的模块的激活方式也很简单。只需要输入命令:

sudo modprobe snd-aloop

你就会得到一个8进8出的声音设备:

输入aplay -l显示声音设备

在播放软件和obs选择相应的设备后就可以通过音乐播放器来播放你的lofi歌单而不是限制在视频的内嵌音频了。音乐播放器的话推荐strawberry因为开发还是比较active而且还能够选择输出设备(比较流行的rythmbox好像不行)。还有一个小问题是我一开始用modprobe激活snd-aloop这个module后用aplay -l打印声音设备一直显示sound card not found。然后也不知道是重启了几把还是改了asound的配置文件才显示。所以对alsa驱动比较熟悉的大佬可以评论一下到底怎么回事。

在starwberry中选择之前激活的ALSA loopback输出设备
在obs中选择之前激活的loopback输入设备

至于上传文件和视频的话可以安装一个FTP Server到云服务器,然后用FileZilla之类的客户端上传视频文件。具体FTP服务器安装可以参考:https://www.vultr.com/docs/install-an-ftp-server-with-proftpd-on-debian-or-ubuntu/#Prerequisites

最后要说一下的是因为我的服务器比较拉只有双核所以就播放一个720p的视频都能够把cpu的占用率用到80-90%。所以需要高分辨率推流的话可能需要4-8核的处理器才行。2核的极限大概是在480p 24fps并且obs的画布大小要和视频分辨率一样这样推流的时候obs就不用再缩放分辨率。视频转码的话可以用ffmpeg来转,比如要转成852x480 24fps 的mp4视频可以用下面的命令:

ffmpeg -i “输入文件名” -vf scale=852:480 -r 24 “输出文件名”.mp4

有事没事也可以来听听我的lofi电台:P

LoFi Cafe

如何用100块的云服务器配合OBS搭建无人值守LoFi电台的评论 (共 条)

分享到微博请遵守国家法律