树莓派3服务器-搭建B站简易直播系统
树莓派3服务器-搭建B站简易直播系统
说明:
- 介绍如何通过树莓派和摄像头搭建一个直播平台实现b站24小时实时直播
硬件:
- 树莓派4B
- csi摄像头
软件:
- 系统:20.04
- 软件: raspivid + ffmpeg , nomachine远程, supervisor
演示功能:
- 用于测试检测室内鲶鱼生长情况
- 鲶鱼5CM长度50条,在120CM * 80CM 的塑料桶开始养殖, 目前已经生长到40CM长度, 大概9个月时间
- 点击查看直播效果
步骤:
- 默认系统已经安装raspivid
- 安装ffmpeg
sudo apt install ffmpeg
- 在用户目录新建shell文件,内容如下:
cd ~
touch play.sh
- 内容如下:
raspivid -o - -t 0 -vf -hf -fps 30 -b 6000000 | ffmpeg -re -stream_loop -1 -i "你的音乐地址" -f h264 -i - -vcodec copy -acodec aac -b:a 192k -f flv "你的rtmp地址/你的直播码"
- “你的音乐地址”使用你自己mp3格式的文件路径替代,比如/home/ubuntu/Music/test.mp3
- "你的rtmp地址/你的直播码"使用自己在B站上对应的直播地址和直播码
- 先登陆B站首页,登陆后进入个人中心 -> 直播中心 -> 我的直播间 -> 填写相关资料后 -> 点击开始直播
- 就能看到自己的rtmp地址和直播码
- 参考例子如下:
raspivid -o - -t 0 -vf -hf -fps 30 -b 6000000 | ffmpeg -re -stream_loop -1 -i "/home/ubuntu/Music/test.mp3" -f h264 -i - -vcodec copy -acodec aac -b:a 192k -f flv "rtmp://live-push.bilivideo.com/live-bvc/?streamname=*******&key=********&schedule=rtmp&pflag=1"
- 启动shell文件
./play.sh
- 效果:
frame=38187 fps= 25 q=-1.0 size= 477481kB time=00:25:27.47 bitrate=2560.8kbits/frame=38201 fps= 25 q=-1.0 size= 477634kB time=00:25:28.00 bitrate=2560.7kbits/frame=38213 fps= 25 q=-1.0 size= 477776kB time=00:25:28.49 bitrate=2560.7kbits/frame=38226 fps= 25 q=-1.0 size= 477955kB time=00:25:29.00 bitrate=2560.8kbits/frame=38238 fps= 25 q=-1.0 size= 478103kB time=00:25:29.49 bitrate=2560.7kbits/frame=38250 fps= 25 q=-1.0 size= 478256kB time=00:25:30.00 bitrate=2560.7kbits/frame=38263 fps= 25 q=-1.0 size= 478413kB time=00:25:30.51 bitrate=2560.7kbits/frame=38276 fps= 25 q=-1.0 size= 478560kB time=00:25:31.00 bitrate=2560.7kbits/frame=38289 fps= 25 q=-1.0 size= 478743kB time=00:25:31.53 bitrate=2560.7kbits/frame=38302 fps= 25 q=-1.0 size= 478898kB time=00:25:32.04 bitrate=2560.7kbits/s speed= 1x
- 实际播放效果, 点击进入B站直播
使用supervisor管理进程
- 安装supervisor
sudo apt install supervisor
- 增加配置
cd /etc/supervisor/conf.d
touch play.conf
- 内容如下:
[program:play]
directory=/home/ubuntu
command=bash play.sh
autostart=true
autorestart=true
startretries=10
redirect_stderr=true
stdout_logfile=/home/ubuntu/play.log
environment=ASPNETCORE_ENVIRONMENT="Development"
- 加载配置
sudo supervisorctl reload
- 启动
sudo supervisorctl start play
- 停止
sudo supervisorctl stop play
获取最新文章: 扫一扫右上角的二维码加入“创客智造”公众号