【开发技巧】利用空闲虚拟主机做无人直播,实现睡后收入?

无人直播2年前 (2023-04-13)技术教程

网上有各种无人直播的方案,都是说躺着就能赚钱,就能实现睡后收入,云云,但是要做无人直播着实需要有点技术才行,作为技术开发的我,看了看网上的教程,就想尝试尝试,一不小心还尝试成功了,下面说说我的方法。

需有条件

1、B站推流,需要你实名认证,获取到rtmp推流地址(选B站的原因,门槛低)

2、一台虚拟主机,我用的腾讯云最低配置的,新用户购买的那种。

技术方案

1、lnmp一键安装包,主要用到里面的 nginx,当然你也可以单独安装。

2、服务器中安装ffmpeg(这个是主角)

实现方案

lnmp加载nginx的rtmp模块,由于lnmp默认是不带的,因此需要先安装。

找到lnmp安装包里面的lnmp.conf,找到 Nginx_Modules_Options='' 单引号中加上--add-module=/root/nginx-rtmp-module,保存。

cd /usr/local/src
git clone https://github.com/arut/nginx-rtmp-module

再执行 upgrade.sh nginx 升级一下nginx就行了,至于nginx-rtmp如何使用,https://github.com/arut/nginx-rtmp-module 这个上面都有教程。

验证是否成功执行 nginx -V 出现nginx-rtmp-module即代表成功。

configure arguments: --user=www --group=www --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-http_v2_module --with-http_gzip_static_module --with-http_sub_module --with-stream --with-stream_ssl_module --with-openssl=/usr/local/src/lnmp1.8-full/src/openssl-1.1.1k --with-openssl-opt='enable-weak-ssl-ciphers' --add-module=/usr/local/src/nginx-rtmp-module

ffmpeg安装

我用的编译安装,你也可以直接 yum install ffmpeg

# wget http://www.ffmpeg.org/releases/ffmpeg-4.3.3.tar.gz
# tar -zxvf ffmpeg-4.3.3.tar.gz
# cd ffmpeg-4.3.3
# ./configure --prefix=/usr/local/ffmpeg
# make && make install

验证是否安装成功,有版本信息代表安装成功。

ffmpeg -version

B站开通直播

记住服务器地址,串流密钥,房间标题,这几个要用。

932c047e743573cf00665e8a6b65c33b.png

Nginx配置

在nginx的conf目录下创建文件夹rtmp,下面创建 push.conf文件,写入代码

push rtmp://live-push.bilivideo.com/live-bvc/?streamname=live_53523234232123123435_754332413266765&key=d107sdaeqdaeq12112r34dsdsfsd0aa&schedule=rtmp&pflag=1; #特别注意分号不能丢。

服务器地址:rtmp://live-push.bilivideo.com/live-bvc/

串流密钥:streamname=live_53523234232123123435_754332413266765&key=d107sdaeqdaeq12112r34dsdsfsd0aa&schedule=rtmp&pflag=1

nginx.conf中添加如下代码

rtmp{
server{
listen 1935;
chunk_size 4000;
application live {
live on;
record off;
include rtmp/*.conf;
}
}
}

ffmpeg推送

ffmpeg -re -stream_loop -1 -i "demo.mp4" -c copy -f flv "rtmp://127.0.0.1:1935/live/陪伴学习"

其中 ffmpeg 是命令,

-re -stream_loop -1 是循环视频的指令,

demo.mp4 是你视频的地址,用绝对路径

如果你想直播文件夹内所有视频就改成“/root/video”,

-c copy -f flv 是视频参数

后边的就是推流地址,这里是用推流到自己服务器通过nginx转发到B站,也可以直接用B站的地址,不使用nginx。

最后可以用"nohup+命令+&”挂在后台,这样就可以一直推流啦。

碰到的问题

推送过去的视频有卡顿的情况,猜测有可能是我带宽的原因,速度不够快,视频我已经压缩到了24M,尝试了10M内的视频,依然卡,不过整体还行。确实能实现无人直播。

睡后收入问题?

首先没几个人看,平台没啥补贴,再次服务器的流量费用也不少,这就是你的成本,想靠这个睡后收入,还是洗洗睡吧。

不过你可以在视频上挂个二维码,将流量转移到小程序上,或者别的地方,通过小程序平台补贴啥的获取点收入,这个还是有可能,不过量小。

关于封号问题,得你们自己测试了,我测试的时间短,暂时没封。