SIM82XX 使用 ffmpeg 进行推流直播

来自Waveshare Wiki
跳转至: 导航搜索

使用ffmpeg进行推流直播

如果您使用的是2020-08-20-raspios-buster-armhf此镜像,那么您什么都不需要安装,系统已经自带了ffmpeg。别问我为什么知道,因为我被旧系统的ffmpeg安装折磨了2天,使用此系统是最方便的。
直接进入主题,假设您已经有了一个摄像头,并且已经正确连接到树莓派上,那么请根据教程继续。

  • 使用摄像头前必须运行 raspi-config 命令启用摄像头:
sudo raspi-config
选择 Enable Camera,选择 YES

Rpi Enable Camera.png

  • 如果是使用 CSI 接口的摄像头,那么系统找不到/dev/video0 的设备节点。需要在/etc/modules 文件中添加一行 bcm2835-v4l2:
sudo nano /etc/modules

加上:

bcm2835-v4l2 

Pan-tilt hat addmodules.png
那么系统启动之后,系统会加载这个文件中的模块名,重启系统:

sudo reboot
ls /dev/video*

下面发现 video0 设备节点。
Pan-tilt hat addmodules1.png
说明:如果执行前几步之后,请确认操作和指令正确的情况

假设现在使用斗鱼直播,将自己的账号注册并开通主播功能,打开斗鱼直播主播中心,找到直播设置。
SIM8200 RPI douyu1.png
打开推流设置 SIM8200 RPI douyu2.png
会获得rtmp地址和直播码,树莓派端执行命令:

ffmpeg -f video4linux2 -s 640x480 -r 25 -i /dev/video0 -c:v h264_omx -f flv "rtmp地址/直播码"

举个栗子: 先打开一个终端,这个终端先把5G网络跑起来

cd Goonline
sudo ./simcom-cm

然后再打开一个终端,运行如下指令

ffmpeg -f video4linux2 -s 640x480 -r 25 -i /dev/video0 -c:v h264_omx -f flv "rtmp://sendtc3.douyu.com/live/9188303rTNGmU7CS?wsSecret=ef762877aae120262eaf23c3f60a28bf&wsTime=5f59dbf0&wsSeek=off&wm=0&tw=0&roirecognition=0"

rtmp://sendtc3.douyu.com/live就是地址,后面的那一截即为直播码。此时进入房间号,即可观察直播,延迟在1-2S左右。
-->