话说最近捣鼓起树莓派,主要是想弄个小监控玩玩。就碰上个硬编码的问题,今天就来跟大家伙儿分享一下我的折腾过程。
一、 准备工作
我先是买块树莓派 4B,毕竟这玩意儿上手简单嘛然后就是准备一张SD卡和读卡器,这都是老一套,烧录系统啥的,就不细说。
二、 初步尝试
我一开始的想法很简单,就是用ffmpeg采集视频,然后推个rtmp流出去,再用nginx搭个直播服务。结果,视频是能采,但总感觉哪里不对劲,一查,原来是编码这块没搞
三、 解硬编码
后来我就去查资料,发现树莓派这小东西还支持硬编码!这可比CPU吭哧吭哧地软编码强多。我又解到,树莓派上有两个关键的东西,一个叫omx-rpi,管硬件编码加速;另一个叫mmal,管硬件解码加速。我这回主要用到编码,所以就重点关注omx-rpi。
四、 实践出真知
知道这些,我就开始动手。我得确定我的ffmpeg是支持硬编码的。一通操作下来,发现果然没那么简单,还需要自己编译ffmpeg,把omx-rpi的支持给加进去。这个过程有点麻烦,不过网上教程很多,我就不啰嗦。
编译好ffmpeg之后,我再试一把,这回感觉就不一样!视频流畅多,CPU占用率也下来。看来,硬编码这玩意儿还真不是盖的。
五、 树莓派的引脚
对,在折腾的过程中,我还顺便解一下树莓派的引脚。这玩意儿有三种编码方式,分别是BCM、wiringPi和BOARD。我一开始有点懵,后来才搞明白:
- BOARD 就是按照板子上的物理位置来编号的,简单粗暴。
- BCM 这种编号方式,对底层操作更友
- wiringPi 是一个库,用起来更方便。
我主要用的是Python,所以就选wiringPi,毕竟有个叫*的库,用起来挺顺手的。
六、 总结
这回折腾树莓派硬编码,还是挺有收获的。虽然过程有点曲折,但最终还是实现我的小目标。以后再捣鼓树莓派,我就更有经验!
好,今天的分享就到这里。希望对大家有所帮助,咱们下回再见!
免责声明:由于无法甄别是否为投稿用户创作以及文章的准确性,本站尊重并保护知识产权,根据《信息网络传播权保护条例》,如我们转载的作品侵犯了您的权利,请您通知我们,请将本侵权页面网址发送邮件到qingge@88.com,深感抱歉,我们会做删除处理。