验证把树莓派接上usb摄像头做个向B站推送直播的设备
总的来说是按照别人的经验再做一遍而已
应不限于pi4 ,流水账备忘。

用默认参数编译及安装推流数十秒后报错退出


主要是跟随 csdn 的那篇blog操作
执行 ./configure 的时候有诸多参数出现问题

提示错误 “Error. OMX_Core.h not found”
解决方法是,执行

sudo apt-get install libomxil-bellagio-dev

最终实验出来编译正常的是以下的配置

./configure --arch=armv7l --target-os=linux \
--enable-gpl --enable-libx264 \
--enable-nonfree \
--enable-omx \
--enable-omx-rpi \
--enable-encoder=h264_omx \
--enable-mmal \
--enable-hwaccel=h264_mmal \
--enable-decoder=h264_mmal

主要想要的是 h264_omx 实现硬件编码加速,这个可以大幅保证编码效率降低负载和功耗。
之后就是普通的 make && make install

推流B站

QQ截图20190819202702.png

经测试(用逻辑 C920), 用以下命令

ffmpeg -f v4l2 -s 1280x720 -i /dev/video0 -b:v 3600k -c:v h264_omx -bufsize 6000k -f flv "rtmp://js.live-send.acg.tv/live-js/{直播码,直播中心开播获取}"

由于连接的是wifi 所以码率没设置太高,用 -s 1280x720 设为 720p 输出(C920应该支持 FullHD 1080p的)。
帧率也没有指定,试过 -r 30 指定为30fps 到了B站上变快动作,可能是我参数还是不对
以上没有设置音频参数,所以输出视频为静音,以后可能会补充更新(挖坑)

看看系统负载

微信图片_20190819202155.png

微信图片_20190819202145.png

48°C, ffmpeg 负载占 17%左右,说明 硬件编码工作良好。

总的来说Pi4做直播有点大材小用,因为内存还剩 3G 多,换句话说,用 3B+ 完全可以胜任。


参考文

《树莓派 FFmpeg 支持GPU硬解码》 https://blog.csdn.net/aphero/article/details/78316747
《部署编译FFmpeg》https://www.jianshu.com/p/dec9bf9cffc9
《HLS实现视频流直播》https://www.jianshu.com/p/78c888acdc70
《Compile FFMPEG for Raspberry Pi 3》https://potluru.wordpress.com/2016/06/26/compile-ffmpeg-for-raspberry-pi-3/

标签: 树莓派, ffmpeg, 推流, rtmp, 直播

添加新评论