ffmpeg编译omx的时候只要把omx的标准头文件引入就可以了,编译的时候ffbuild这个文件夹一定不要删除,很多同学把这个文件夹删了导致无法编译,ffm是makefile管理工程的,不是cmake呢。
下面是一个简单的脚本:
#! /bin/bash
root_path=/workspace
omx_inc=${root_path}/openmax/libomxil-bellagio/include
#sdl_lib=${root_path}/depends/sdl2-2.0.14/lib
echo $omx_inc
./configure \
--prefix=${root_path}/depends/simple-x86-omx-ffmpeg5.0 \
--enable-swscale \
--enable-gpl \
--enable-omx \
--disable-optimizations \
--enable-debug \
--extra-cflags="-g -I${omx_inc} " \
--extra-ldflags="" \
--enable-shared
#make -j8
#make install
如果要编译arm架构的,需要手动修改ffbuild文件夹中config.mak中的STRIP为:
STRIP=aarch64-linux-gnu-strip
改完之后,不要再configure了,直接make,make install
当然你得手动安装aarch64-linux-gnu-strip
如下:
#! /bin/bash
root_path=/root/workspace
omx_inc=${root_path}/libomxil-bellagio/include
echo $omx_inc
./configure \
--enable-cross-compile \
--target-os=linux \
--cc=aarch64-linux-gnu-gcc-7 \
--arch=aarch64 \
--prefix=${root_path}/depends/simple-arm-omx-ffmpeg5.0 \
--enable-omx \
--extra-cflags="-g -I${omx_inc}" \
--enable-shared
arm编译的时候添加:
configure \
--prefix=./ --disable-x86asm \
--enable-cross-compile \
--cc=aarch64-linux-gnu-gcc-7 \
--arch=arm64 \
--strip=aarch64-linux-gnu-strip \
...
记得安装:
aarch64-linux-gnu-gcc
aarch64-linux-gnu-g++