标签: ios开发ffmpegiframeextractor编译调试 |
分类:iPhone开发 |
1. 到https://github.com/gabriel/ffmpeg-iphone-build下载ffmpeg-iphone-build
2.先将gas-preprocessor.pl拷贝到/usr/sbin/目录中。
3.到这里下载最新的ffmpeg:http://ffmpeg.org/download.html 或者命令行安装:gitclone git://source.ffmpeg.org/ffmpeg.git ffmpeg
下载一个事例工程:git clone git://github.com/lajos/iFrameExtractor.git
然后到命令行下到ffmpeg的目录下,执行:
自己修改一下对应自己的SDK就可以了,我这儿是4.2
这个是模拟器的
./configure --disable-doc --disable-ffmpeg --disable-ffplay--disable-ffserver --disable-avfilter --disable-debug--disable-encoders
--enable-cross-compile --disable-decoders --disable-armv5te--enable-decoder=h264 --enable-pic
--cc=/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/gcc--as='gas-preprocessor/gas-preprocessor.pl
/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/gcc'
--extra-ldflags=-L/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator4.2.sdk/usr/lib/system
--sysroot=/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator4.2.sdk--target-os=darwin --arch=i386
--cpu=i386 --extra-cflags='-arch i386' --extra-ldflags='-arch i386'--disable-asm
---------------------------------------------------
这个是真机的
./configure --
cc=/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/gcc
--as='gas-preprocessor.pl
/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/gcc'--
sysroot=/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPh
oneOS4.2.sdk --extra-ldflags=-
L/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.
2.sdk/usr/lib/system --target-os=darwin --arch=arm--cpu=cortex-
a8 --extra-cflags='-arch armv7' --extra-ldflags='-arch armv7'--
enable-pic --enable-cross-compile --enable-ffmpeg --disable-
ffplay --disable-ffserver --disable-asm --disable-encoders--
disable-decoders --enable-decoder=h264 --enable-decoder=mjpeg--
enable-decoder=mpeg4 --disable-doc
然后把lib和include放到你的工程中,你可以在你的工程根目录下创建一个叫ffmpeg的文件夹,把lib和linclude里面的东西放进去
工程中制定head file path:"$(SRCROOT)/ffmpeg/include" 这样编译就可以通过了
工程中制定library file path:"$(SRCROOT)/ffmpeg/lib" 这样编译就可以通过了
然后,打开iFrameExtractor这个工程,在ffmpeg这个文件夹建一个lib文件夹,把之前拷贝(就这个cp -rf lib*/src)出来的.a文件全部丢进去。为什么要这么做呢?应为iFrameExtractor里面的ffmpeg版本比较老,所以我没有编译它,没有编译,就不会产生一个lib文件夹。
如果编译出现问题,大部分的情况应该是类库没有导入完全,在target里面改入一下类库就可以了。