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

项目需求需要录像存储为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++

瑞芯微rk1126 编译mp4v2记录 rk1126移植 ffmpeg X264_第1张图片

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

../configure --prefix=/home/QMCY/mp4v2-h265/mp4v2-2.0.0/rk1126  \
    --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++

瑞芯微rk1126 编译mp4v2记录 rk1126移植 ffmpeg X264_第2张图片

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

直接make报错了 如下:

瑞芯微rk1126 编译mp4v2记录 rk1126移植 ffmpeg X264_第3张图片

失败了 暂时不知道咋办  

没办法只能用ffmpeg 

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

然后新建个脚本build.sh

内容如下:

./configure --prefix=./install \
	--enable-cross-compile \
	--target-os=linux \
	--arch=armv7l	\
	--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目录了如下:

瑞芯微rk1126 编译mp4v2记录 rk1126移植 ffmpeg X264_第4张图片

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

 瑞芯微rk1126 编译mp4v2记录 rk1126移植 ffmpeg X264_第5张图片

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

瑞芯微rk1126 编译mp4v2记录 rk1126移植 ffmpeg X264_第6张图片

已经可以正常工作了

 

 完毕

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

接下来是带有libx264的配置 

首先编译下载x264 

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

内容如下:


./configure \
	--host=arm-linux-gnueabihf \
	--prefix=./rk1126 \
	--cross-prefix=arm-linux-gnueabihf- \
	--enable-static \
	--enable-shared \

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

瑞芯微rk1126 编译mp4v2记录 rk1126移植 ffmpeg X264_第7张图片

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

./configure --prefix=./rk1126 \
	--enable-cross-compile \
	--target-os=linux \
	--arch=armv7l	\
	--enable-gpl	\
	--enable-encoder=libx264	\
	--enable-libx264	\
	--extra-libs=-ldl	\
	--extra-cflags=-I/home/QMCY/x264-master/rk1126/include \
	--extra-ldflags=-L/home/QMCY/x264-master/rk1126/lib	\
	--cross-prefix=arm-linux-gnueabihf-

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

你可能感兴趣的:(RK1126平台,FFMpeg,linux,arm开发,运维)