一,需求
NX 的板子外接相机,使用opencv从共享内存中取图 转化成Mat,之后利用ffmpeg进行h264编码,然后 推送 到rtmp服务器。开始使用cpu软编码,占用cpu在150%左右。先改用GPU的 NVENC芯片进行硬编码,cpu占用降到了80%。
二,实现
环境搭建 :
(1),libnvmpi安装
git clone GitHub - jocover/jetson-ffmpeg: ffmpeg support on jetson nano cd jetson-ffmpeg mkdir build cd build cmake .. make sudo make install sudo ldconfig 备注:需要修改 CMakeList.txt 中jetson_multimedia_api 引用的位置,如 /usr/environment/jetson_multimedia_api 。
(2),x264软编码器安装
git clone https://gitee.com/mirrors/x264/tree/stable/./configure --enable-static --enable-shared --enable-debug --prefix=./binmakemake install(3),ffmpeg安装
1,下载 源码:git clone git://source.ffmpeg.org/ffmpeg.git -b release/4.2 --depth=1cd ffmpeg2,下载 补丁文件:https://github.com/jocover/jetson-ffmpeg/blob/master/ffmpeg_nvmpi.patch3,打补丁:git apply ffmpeg_nvmpi.patch4,配置编译选项:./configure --enable-shared --enable-static --enable-libx
免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删