• 瑞芯微 RK1126 平台编译zlib gpac 使用GPAC将H264 H265保存为MP4文件 录像


    使用GPAC的原因 是 因为项目有录像的需求 ,将摄像头编码出来的在内存中的H264或者H265数据流存为MP4文件

    之前海思平台用的是MP4V2 但是 MP4V2在RK1126平台编译的过程中出错了  没搞定 

    而且MP4V2 默认是不支持H265的 ,虽说网上有支持H265版本的但是 由于没有编译成功就放弃了

    之后又尝试用FFMPEG 来解决这个问题,但是没有尝试成功

    我们的项目录像只需要视频 不需要音频

    网上搜的过程中 看到了GPAC 今天试了下 可以 了 支持H264 H265 录像都没有问题 

    下载到电脑上之后用vlc播放都没有问题

     

    下面记录下过程

    首先 编译zlib

    zlib官网下载zlib

    zlib Home Site

    tar -zxvf 压缩包

    之后 export CC=arm-linux-gnueabihf-gcc

    新建一个编译脚本build.sh

    ./configure --prefix=$PWD/rk1126

    make  make install 之后 在rk1126目录下生成了对应的include 和lib库

     刚忘记说了 之所以编译zlib 是因为 刚刚编译gpac的需要这个  如下图提示

    下载gpac

    解压之后 新建一个编译脚本内容如下:修改成对应自己的zib目录即可

    1. ./configure --prefix=$PWD/rk1126 --cc=arm-linux-gnueabihf-gcc --cxx=arm-linux-gnueabihf-g++ \
    2. --extra-cflags=-fPIC -I/home/QMCY/zlib-1.2.12/rk1126/include \
    3. --extra-ldflags=-L/home/QMCY/zlib-1.2.12/rk1126/lib \
    4. --use-zlib=local

    执行脚本之后 

    编译提示错误

    网上搜了下 没有找到相关的错误 看名字感觉和GUI有关系 我们不需要GUI 所以 打算禁用掉这个特性 在configure文件里面搜x11 果然搜到了

    编译脚本加上这几个选项 

    修改之后的脚本如下:

     

     重新make 没有再提示错误

    make install 提示错误:

     

     网上搜了下说是 编译的gcc和strip不是一个架构的 搜索下config.mak 注释掉行 重新make install

     

     没有再提示错误

    对应的目录也生成了相应的文件 如上图

    我使用的是静态库 需要将libz.a和 libgpac_static.a复制到工程目录

    将头文件也复制过去

     工程目录如下

     用到了很多第三方的库

    之后 用的是 网上搜到的 这个版本的 接口 

     可能楼主之前用的是老版本的 gpac 

    编译的时候有好几个错误 会报下面的两个函数找不到

    gf_media_avc_read_sps

    gf_media_hevc_read_vps

    后来看了下 头文件 新版版的gpac 接口名字换了 改过来就可以 

    之后 调用相应的接口就可以了 一个循环中 不断写数据

     

    调试的过程中还遇到了  H264可以正常保存 但是 保存 H265报错 如下图

     后来对比了下 H264 和H265不一样的地方 改了下也可以了 

    时间戳 时常 格式都没问题 如下图

     

     

  • 相关阅读:
    STM32笔记2-使用库函数点亮LED灯
    C#使用正则表达式 判断string 字符串是否包含汉字
    使用百度EasyDL语音识别打造Smart汽车原创音乐
    不同的测试技术区分
    ROS官方教程知识点总结[低阶阶段]
    HTML使用canvas绘制海报(网络图片)
    计算机组成原理知识总结(八)输入/输出系统
    分享 2022 年最受欢迎的黑科技工具(一)
    大厂秋招真题【前缀和】美团20230826秋招T5-平均数为k的最长连续子数组
    被微软收购后却惨遭下架,六年后我又开发新产品来抗衡
  • 原文地址:https://blog.csdn.net/baoecit/article/details/126317284