ARM移植X264+FFMPEG

2019-07-13 08:51发布

  交叉编译器版本:version 4.5.1 Libx264版本:x264-snapshot-20121020-2245 FFMPEG版本:ffmpeg-1.0   这里我只是移植了ffmpeg支持了h264,音频的未移植。   一、X264移植 1、先执行配置文件 ./configure --prefix=/home/linux/workspace/x264-build/x264-arm--enable-shared --disable-asm --prefix 指定最后使用make install输出头文件、库文件等的路径   2、修改生成的config.mak文件 2.1 ARCH=X86 修改为ARCH=ARM 2.2 CC=gcc修改为CC=arm-linux-gcc 2.3去掉-m32 (这行中CFLAGS=-Wshadow -O3-ffast-math  -Wall -I. -I$(SRCPATH)-std=gnu99 -fomit-frame-pointer -fno-tree-vectorize)  2.4 修改LD=gcc –o为LD=arm-linux-gcc –o   3、编译和安装 make make install 这样就安装在了前面—prefix指定的路径下               二、ffmpeg移植 1、先执行配置文件 ./configure --disable-ffmpeg --disable-ffplay--disable-ffprobe --disable-ffserver--prefix=/home/linux/workspace/ffmpeg-build/ffmpeg1.0-arm--enable-cross-compile --cross-prefix=arm-linux- --target-os=linux --arch=arm--enable-shared --enable-nonfree --enable-gpl --enable-version3--extra-cflags=-I/home/linux/workspace/x264-build/x264-arm/include--extra-ldflags=-L/home/linux/workspace/x264-build/x264-arm/lib--enable-libx264 配置选项说明 --cross-prefix在所有编译工具前加上前缀arm-linux- --disable-stripping不使用strip去掉库信息 --extra-cflags:第三方库头文件声明(这个路径要指向x264的安装路径,对比看看我的ffmpeg配置就明白了) --extra-ldflags:第三方库库文件路径(同上)   2、编译和安装 make make install     如果在make install过程中出现类似上图所示的错误,参考如下链接: http://blog.csdn.net/yming0221/article/details/6705418   三、使用 1、先将x264的安装路径下的lib和include目录下的所有文件拷贝到ffmpeg安装目录下的lib和include目录下   2、写个简单的测试程序 #include #include #include #include #include #include #include   void main() { avcodec_register_all(); }   编译命令: arm-linux-gcc test.c-I /home/linux/workspace/ffmpeg-build/ffmpeg1.0-arm/include -L/home/linux/workspace/ffmpeg-build/ffmpeg1.0-arm/lib/ -lavformat -lavutil-lavcodec -lx264   -I(注意是大写的i)指定头文件路径,为安装的ffmpeg目录下的include目录 -L:指定库文件路径,为安装的ffmpeg目录下的lib目录 -l(注意是大写L的小写)指定库