ubuntu系统入门教程-搭建B站简易直播系统
说明:
- 介绍如何通过摄像头搭建一个直播平台实现b站24小时实时直播
硬件:
- ubuntu系统的PC或笔记本等
- usbcam摄像头
软件:
- 系统:20.04
- 软件: ffmpeg , nomachine远程, supervisor
步骤:
- 安装ffmpeg
sudo apt install ffmpeg
- 在用户目录新建shell文件,内容如下:
cd ~
touch play.sh
- 参考例子如下:
ffmpeg -f v4l2 -framerate 30 -video_size 640x480 -i /dev/video0 -c:v libx264 -preset veryfast -maxrate 2000k -bufsize 2000k -pix_fmt yuv420p -g 60 -c:a aac -b:a 128k -ac 2 -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
- 参数说明
/dev/video0:你的摄像头设备。
rtmp://your-rtmp-server/live/stream_name:你的 RTMP 服务器地址和流名称。
-f v4l2 指定输入为 Video4Linux2(V4L2)。
-input_format mjpeg 指定摄像头输出的格式为 MJPEG(如果你的摄像头使用其他格式,请相应调整)。
-framerate 30 指定帧率。
-video_size 640x480 指定视频大小。
-c:v libx264 指定视频编码器为 H.264。
-c:a aac 指定音频编码器为 AAC。
-b:a 128k 设置音频比特率。
-ac 2 设置音频通道数为 2。
-f flv 指定输出格式为 FLV。
rtmp://your-rtmp-server/live/stream_name 指定 RTMP 服务器地址和流名称。
- 实际播放效果, 点击进入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
获取最新文章: 扫一扫右上角的二维码加入“创客智造”公众号