ARM移植X264+FFMPEG

 

交叉编译器版本: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的小写)指定库

你可能感兴趣的:(嵌入式linux(原创))