• 瑞芯微rk1126 编译mp4v2记录 rk1126移植 ffmpeg


    项目需求需要录像存储为mp4文件 并且要支持H264 H265

    我们之前在海思平台上用的是mp4v2  想着直接拿过来用 

    github上 下载完mp4v2之后 新建一个build文件夹

    然后cd到build文件夹新建一个build.sh内容如下:

    刚开始直接这么写的话:会提示找不到编译器

    ../configure --prefix=/home/QMCY/mp4v2-h265/mp4v2-2.0.0/install --host=arm-linux-gnueabihf CC=arm-linux-gnueabihf-gcc CXX=arm-linux-gnueabihf-g++

    没办法就只能写绝对路径了:

    1. ../configure --prefix=/home/QMCY/mp4v2-h265/mp4v2-2.0.0/rk1126 \
    2. --host=arm CC=/home/QMCY/rv1126_rv1109_linux_release_20211022/prebuilts/gcc/linux-x86/arm/gcc-arm-8.3-2019.03-x86_64-arm-linux-gnueabihf/bin/arm-linux-gnueabihf-gcc CXX=/home/QMCY/rv1126_rv1109_linux_release_20211022/prebuilts/gcc/linux-x86/arm/gcc-arm-8.3-2019.03-x86_64-arm-linux-gnueabihf/bin/arm-linux-gnueabihf-g++

     这些生成了make文件没有报错

    直接make报错了 如下:

    失败了 暂时不知道咋办  

    没办法只能用ffmpeg 

    git clone https://git.ffmpeg.org/ffmpeg.git

    然后新建个脚本build.sh

    内容如下:

    1. ./configure --prefix=./install \
    2. --enable-cross-compile \
    3. --target-os=linux \
    4. --arch=armv7l \
    5. --cross-prefix=arm-linux-gnueabihf-

    如果找不到编译器需要将编译器路径加到path

    export PATH=$PATH:/home/QMCY/rv1126_rv1109_linux_release_20211022/prebuilts/gcc/linux-x86/arm/gcc-arm-8.3-2019.03-x86_64-arm-linux-gnueabihf/bin

    执行脚本 然后make  正在编译中 写文章的过程中编译完了 没有报错 

    执行 make install  发现已经将库文件 头文件 等安装到install目录了如下:

    打开lib目录发现默认的是静态库

     

     下面需要将头文件 静态库放到工程当中 写个代码测试下 

    已经可以正常工作了

     

     完毕

    上面的编译是没有libx264的配置 

    接下来是带有libx264的配置 

    首先编译下载x264 

    解压之后新建一个build.sh脚本

    内容如下:

    1. ./configure \
    2. --host=arm-linux-gnueabihf \
    3. --prefix=./rk1126 \
    4. --cross-prefix=arm-linux-gnueabihf- \
    5. --enable-static \
    6. --enable-shared \

    make make install  之后就生成了对应的文件

     然后修改 ffmpeg的编译配置脚本如下:

    1. ./configure --prefix=./rk1126 \
    2. --enable-cross-compile \
    3. --target-os=linux \
    4. --arch=armv7l \
    5. --enable-gpl \
    6. --enable-encoder=libx264 \
    7. --enable-libx264 \
    8. --extra-libs=-ldl \
    9. --extra-cflags=-I/home/QMCY/x264-master/rk1126/include \
    10. --extra-ldflags=-L/home/QMCY/x264-master/rk1126/lib \
    11. --cross-prefix=arm-linux-gnueabihf-

    make make install 就可以了  这样编译出来的 是可以 利用ffpmeg进行cpu编码的 

  • 相关阅读:
    c++ poco读取中文文件路径
    vue3弹性布局 类似九宫格排列(多选选项)
    Java NIO 详解
    C. Set or Decrease(二分 + 有两个不确定情况如何二分)
    阿里面试官惊了,Nginx配置一键生成
    Linux内核网络设备驱动
    JVM 虚拟机 ----> Java 类加载机制
    Java控制结构总结[顺序控制 分支控制 循环控制]
    Java12~14 switch语法
    JQuary---获取文本内容,正则表达式
  • 原文地址:https://blog.csdn.net/baoecit/article/details/126279405