美文网首页
RK3568开发笔记(十一):开发版buildroot固件移植一

RK3568开发笔记(十一):开发版buildroot固件移植一

作者: 红模仿_红胖子 | 来源:发表于2023-09-20 10:49 被阅读0次

    https://blog.csdn.net/qq21497936/article/details/133022813?spm=1001.2014.3001.5501

    前言

      目标开发任务还有个功能,就是播放rtsp摄像头,当然为了更好的坐这个个,我们必须支持rtsp播放失败之后重新尝试,比如5s重新尝试打开一次,从而保障联网后重新打开,然后达成这个功能。

    Demo

    补充

    得益于方案上的buildroot已经移植了ffmpeg4.1.3。

    摄像头的硬件连接

    编译ffmpeg4.1.3

    程序移植过程中,发现默认的ffmpge缺少了swscale.h,这就很不好办了:

      想了个打补丁的办法,交叉编译ffmpeg4.1.3给他再打上一次。

    步骤一:下载解压

    http://ffmpeg.org/releases/

    解压:

    步骤二:配置configure

    引入交叉编译器

    exportPATH=$PATH:/home/yang/work/src/topeet-qt5.14.2/topeet-qt5.14.2-aarch64/host/bin

      调整配置,如下:

    ./configure--prefix=/home/yang/work/src/topeet-qt5.14.2/topeet-qt5.14.2-aarch64/host/aarch64-buildroot-linux-gnu/sysroot--arch=aarch64  --target-os=linux  --enable-cross-compile --cross-prefix=aarch64-buildroot-linux-gnu- --enable-shared

    步骤三:编译make

    make-j4

    步骤四:安装make install

    makeinstall

    步骤五:检查libswsale图像缩放变换模块:

    但是编译发现还是不行:

    忍不了了,重新提取一套完整的直接单独给Qt工程依赖:

    注意修改了prefix地址:

    ./configure--prefix=/home/yang/work/src/ffmpeg-aarch64--arch=aarch64  --target-os=linux  --enable-cross-compile --cross-prefix=aarch64-buildroot-linux-gnu- --enable-shared

    重走一遍,单独弄到ffmpeg代码里面去:

    弄到代码模块里面:

    添加pri依赖:

    编译,这回没出现头文件错误,出现了新错误:

    编译通过:

    编译依赖解决了:

    步骤六:将ffmpeg4.1.2覆盖一遍开发板的ffmpeg

    还得将新库覆盖过去,不然出现如下:

    因为sftp限制了/root目录下,所以直接打包,到开发板上手动copy覆盖:

    拷贝到开发板:

    这里其实不用头文件了,目标板不做编译的话,无需头文件,直接将lib解压后,然后copy文件夹里面的所有到/usr/lib即可,如下图:

    然后运行:

    成功了,看界面:

    开始测试软解码rtsp

    Ffmpeg拉取rtsp软解h264显示(1080p)

    然后开始软解码rtsp播放:

    播放1s追加多慢1s,越来越慢,然后灰色了又重新开始:

    查看cpu,解码1080p直接cpu爆了几个:

      这个方式行不通。

    Ffmpeg拉去rtsp软解h264显示360p(640x360)

    切换至子码流:

    延迟大概1s-1.5s

    如下:

      然后测试了打开了2个解码,延迟基本没影响,然后跑应用解码50ms一阵数据交互,都没啥问题,所以这个能先给演示凑合了。

    小结

      本次基本达成目标了,同时也测出rk一类能bsp使用mpp拉取rtsp解码h264包成为rgba直接刷buffer层是延迟最低,最低消耗cpu的方式,也可以给qt显示,多消耗一点延迟,应该是多10~30ms的样子,具体需要测试实际结果。

    相关文章

      网友评论

          本文标题:RK3568开发笔记(十一):开发版buildroot固件移植一

          本文链接:https://www.haomeiwen.com/subject/arnovdtx.html