Skip to content

zimuliu/ffmpeg-ios-build

 
 

Repository files navigation

USAGE

Run ./sync.sh, ./build.sh and ./combine.sh as appropriate. It is probably
needed to change some variables in ./config.sh.

To find out which SDKs are supported run:
xcodebuild -showsdks

To switch which XCode Installation is used, run
sudo xcode-select -switch $XCODEROOT

=======

CREDITS

This code is based on https://github.com/cbreak-black/ffmpeg-ios-build

=======

CREDITS from original ffmpeg-ios-build code

This code is partially taken from the answer to this SO Question:
http://stackoverflow.com/questions/7007305/

To configure ffmpeg for the iPhone 3gs and iPod touch 3g:

./configure --enable-cross-compile --arch=arm --target-os=darwin --cc='/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/gcc -arch armv7' --sysroot=/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS3.0.sdk --cpu=cortex-a8 --enable-pic

To configure ffmpeg for all other iPhones and iPods:

./configure --enable-cross-compile --arch=arm --target-os=darwin --cc='/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/gcc -arch armv6' --sysroot=/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS3.0.sdk --cpu=arm1176jzf-s

Make sure to replace the iPhone SDK version with the version that you're using.
Pre-3.0 versions aren't supported and probably won't work.

If deploying to all generations, it's recommended to do separate out-of-tree
builds for each architecture, then lipo together the resulting libs. For
instance, assuming separate builds in armv6 and armv7:

lipo -create -arch armv6 armv6/libavcodec/libavcodec.a -arch armv7 armv7/libavcodec/libavcodec.a -output universal/libavcodec.a

and similar for each library. Then in XCode, make sure to build for both armv6
and armv7. If you only care about one generation (since the armv6 devices are
too slow for instance), then lipo is unnecessary of course.

About

Build Scripts for FFMpeg for Apple iOS

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Shell 100.0%