您的位置:首页 > 其它

ffmpeg 在mac os x 上的编译 及 Xcode项目中的运用

2012-01-17 17:13 1201 查看
移值到Mac OS/X下的模拟iPhone平台下过程:

第一步:目录准备

建立一个目录名为Ffmpeg,其中建立两个目录,一个名为build,一个名为ffmpeg-0.6。在ffmpeg-0.6中,存放FFmpeg的源代码,本文使用ffmpeg0.6版本;在build路径中建立一个名为@executable_path的目录,用于存放编译结果。

第二步:在shell(bash)上 调整build的路径

cd (后面跟着之前创建的build路径)

第三步:检查gcc,make的版本

gcc 版本至少为4.2.1

make 版本至少为3.81

确认版本,如版本不符,安装新版本后,继续。

*安装方法很简单,configure,make,make install即可。

第四步:编译 ffmpeg(我感觉更可以说跨平台的转化)

./ffmpeg-0.6/configure
--prefix=@executable_path --libdir=@executable_path --enable-gpl --enable-static --disable-shared --enable-swscale --enable-zlib --enable-bzlib --disable-ffmpeg --disable-ffplay --disable-ffserver --enable-pthreads

第五步:在make之前,需注意:

在MAC 10.4.8系统上进行make /build/libswscale/时会报错,原因是指定了其version为0。修改/config.mak文件中指定libswscale version信息的代码行,即需将第71行改为:libswscale_VERSION_MAJOR=1

第六步:编译和安装

在shell刚才路径下运行: make , make install

第七步:创xcode项目 将5个包括(libavcodec libavdevice libavformat libavutil libswscale)(.a)和 libz.dylib库文件加入。

第八步:shell 中转到项目中的 ffmpeg目录下

运行:./build_i386

最后:重起xcode项目。

移植到真机时:

由于ffmpeg要重新编译,并且模擬器是i386--真机是armv6-armv7

所以要运行build_armv7,但是之前要以文本打开build_armv7修改SDK的版本。类似如下:

./configure
--disable-doc --disable-ffmpeg --disable-ffplay --disable-ffserver --enable-cross-compile --arch=arm --target-os=darwin --cc=/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/gcc --as='gas-preprocessor/gas-preprocessor.pl /Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/gcc'
-- sysroot=/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.0.sdk --cpu=cortex-a8 --extra-cflags='-arch armv7' --extra-ldflags='-arch armv7 -isysroot /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.0.sdk' --enable-pic

然后在shell中 运行:./build_armv7
最后打开项目运行
OK。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: