< >
Home » Ubuntu系统入门教程 » ubuntu系统入门教程-搭建B站简易直播系统

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

纠错,疑问,交流: 请进入讨论区点击加入Q群

获取最新文章: 扫一扫右上角的二维码加入“创客智造”公众号


标签: ubuntu系统入门教程