1. Download and install the iPhone SDK 3.1.
2. Get the latest gas-preprocessor and install it in /usr/local/bin
or some other directory in your $PATH.
http://github.com/yuvi/gas-preprocessor/
how to install?
you need to open folders in usr dir called local and then bin then in bin put gas-preprocessor.pl file.
then try the configure command.
Note: by default usr dir which is in root level is hidden, you need to right click on finder icon, select "Go to Folder" then type /usr and enter to reveal usr directory.
3. Get the latest FFmpeg from SVN (minimum r20151). http://www.ffmpeg.org
4. Configure FFmpeg with one of the following commands. These give a
clean build with a default installation of iPhone SDK 3.1 on OSX Leopard.
Other versions may vary.
4a. For iPhone 3GS or iPod Touch 3G 32GB/64GB, use this command:
./configure –cc=/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/arm-apple-darwin9-gcc-4.2.1 –as=’gas-preprocessor.pl /Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/arm-apple-darwin9-gcc-4.2.1′ –sysroot=/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS3.1.sdk –enable-cross-compile –target-os=darwin –arch=arm –cpu=cortex-a8 –enable-pic
文本编辑器打开configure文件, 根据需要修改
./configure --disable-doc --disable-ffmpeg --disable-ffplay --disable-ffprobe --disable-ffserver --disable-avdevice --disable-avcore --disable-avformat --disable-swscale --disable-decoders --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/iPhoneOS4.1.sdk --cpu=cortex-a8 --extra-cflags='-arch armv7' --extra-ldflags='-arch armv7' --enable-pic
4b. For other iPhone or iPod Touch models, use this command:
./configure –cc=/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/arm-apple-darwin9-gcc-4.2.1 –as=’gas-preprocessor.pl /Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/arm-apple-darwin9-gcc-4.2.1′ –sysroot=/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS3.1.sdk –enable-cross-compile –target-os=darwin –arch=arm –cpu=arm1176jzf-s
5. Run make.
注:路径名有空格编译会出错
It is important to specify a correct –cpu option, and not merely an
architecture version. Failure to specify the exact CPU will give a
broken build.
For the iPhone 3GS and compatible iPods, –enable-pic is required to
avoid some nasty-looking linker warnings about relocations.
I have not tested the builds on an iPhone/iPod, so there may still be
remaining issues. Please report any problems you encounter.
Many thanks to David Conrad for the gas-preprocessor script, without
which this would not be possible.
参考资料:
移值FFMPEG到iPhone或Mac OS/X
Building FFmpeg for iPhone
有在iphone下用ffmpeg的吗?
iFrameExtractor
video encode
Using FFMPEG library with iPhone SDK for video encoding
problem FFmpeg avcodec_register_all iphone