教你使用自动化,创建一个自己的无人直播室
收录于合集#自动化1个
无人直播是一种自动化直播技术,可以实现全天候 7x24 小时不间断直播,无需现场主播或操作员。它使用现代技术(例如人工智能)来自动处理视频源,并创建视频和音频的现场直播流。配上虚拟主播和最新的chatGPT,根据弹幕,可以让直播间互动起来并非不可。
通常无人直播系统是基于云平台建立的,它们不仅仅可以自动化地拍摄和直播,而且还可以自动化地监控和管理视频流、数据和设备。无人直播已经开始被广泛应用于各种场合,例如体育赛事、音乐会、教学活动、会议、游戏直播、智慧城市监测等。
前提条件:一台云服务器,一个哔哩哔哩账号,对centos系统和ffmpeg有一些了解
第一步:进入B站的开播设置,复制rtmp地址和串流密码存好备用
第二步:登录上云服务器,执行以下命令,构建环境
yum -y install wget
wget --no-check-certificate https://www.johnvansickle.com/ffmpeg/old-releases/ffmpeg-4.0.3-64bit-static.tar.xz
tar -xJf ffmpeg-4.0.3-64bit-static.tar.xz
cd ffmpeg-4.0.3-64bit-static
mv ffmpeg /usr/bin && mv ffprobe /usr/bin && mv qt-faststart /usr/bin && mv ffmpeg-10bit /usr/bin
第三步:上传视频,注意视频的帧率和码率不能过高,否则会报错,这里分享一个我阿里云盘剪辑的视频给大家测试用:202306070935.mp4 www.aliyundrive.com/s/ZNUfGf5ZH… 点击链接保存,或者复制本段内容,打开「阿里云盘」APP ,无需下载极速在线查看,视频原画倍速播放。
第四步:启动直播,test.mp4为视频文件名,把${rtmp}替换成 rtmp地址和串流密码
ffmpeg -re -stream_loop -1 -i "myvideo.mp4" -c copy -f flv "${rtmp}"
例子:
ffmpeg -re -stream_loop -1 -i "myVideo.mp4" -c copy -f flv "rtmp://live-push.bilivideo.com/live-bvc/?streamname=***********&key=*******&schedule=rtmp&pflag=1"
然后打开自己的直播间就可以看到了直播了,这是我的直播间:
http://live.bilibili.com/23139362
能走到这一步的小伙伴,给你点个赞,不过想来你并不满足于此。接下来我们继续深入,让直播在云服务器后台挂起来,以及自动循环目录下的所有视频,以及让服务器自动定时直播。
先说如何让服务进程在后台挂起,以及终止服务进程
第一步:使用nohup挂起进程
nohup ffmpeg -re -stream_loop -1 -i "myVideo.mp4" -c copy -f flv "rtmp://live-push.bilivideo.com/live-bvc/?streamname=***********&key=*******&schedule=rtmp&pflag=1" &
第二步终止进程:
先查询PID:
ps -ef | grep ffmpeg
终止进程:
kill PID
能走到这一步就可以在后台24小时挂起单个视频的直播了。如果这就能满足你的需求了,那么下面便不用再看。循环播放视频下的目录:创建一个bash脚本,文件命名为play_videos.sh,内容:
#!/bin/bash
while :;
do
for file in 你的视频目录路径/*.{mp4,avi,mov};
do
echo "Playing $file"
ffmpeg -re -i "$file" -c copy -f flv "rtmp://live-push.bilivideo.com/live-bvc/?streamname=***********&key=*******&schedule=rtmp&pflag=1"
done
done
接下来运行脚本:
nohup bash /root/play_videos.sh &
停止脚本:
ps -ef | grep play_videos.sh
kill PID
恭喜你!至此,循环目录下的视频直播完成了!关于定时播放,博主还在摸索中,敬请期待!