Tuesday, May 10, 2011

Building FFmpeg for IPhone

1. Check out FFmpeg source code 
2. Check out gas-preprocessor 
3. Run configure command 

./configure --cc=/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/arm-apple-darwin10-gcc-4.2.1 --as='gas-preprocessor.pl /Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/arm-apple-darwin10-gcc-4.2.1' --sysroot=/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS3.2.sdk --enable-cross-compile --target-os=darwin --arch=arm --cpu=cortex-a8 --enable-pic --prefix=$HOME/Downloads/ffmpeg/iphone_build 
4. Create a project in Xcode 
5. Add static libraries to Frameworks 
6. Add libz.1.2.3 
7. Add include path and library link path to XCode project 
8. Write some example code 
9. Build and run on real IPhone device


Enable MP3 encoder/decoder
1. Download opencore-amr
2. Run command

./configure --cc=/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/arm-apple-darwin10-gcc-4.2.1 --as='gas-preprocessor.pl /Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/arm-apple-darwin10-gcc-4.2.1' --sysroot=/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS3.2.sdk --enable-cross-compile --target-os=darwin --arch=arm --cpu=cortex-a8 --enable-pic --prefix=$HOME/Downloads/ffmpeg/iphone_build --enable-libopencore-amrnb --enable-version3 --extra-cflags=-I/Users/mhrinc/Downloads/ffmpeg --extra-ldflags=-L/Users/mhrinc/Downloads/ffmpeg/opencore-amrnb --disable-doc --disable-ffserver --disable-ffprobe --disable-swscale --disable-postproc --disable-avfilter --disable-dxva2 --disable-vdpau --disable-vaapi --disable-rdft --disable-mdct --disable-lpc --disable-huffman --disable-golomb --disable-fft --disable-dct --disable-aandct --disable-decoders --disable-encoders --disable-hwaccels --disable-muxers --disable-demuxers --disable-parsers --disable-bsfs --disable-protocols --disable-indevs --disable-outdevs --disable-filters \ 
--enable-decoder=wavpack --enable-encoder=libopencore_amrnb \ 
--enable-muxer=wav --enable-muxer=amr \ 
--enable-demuxer=wav --enable-demuxer=amr \ 
--enable-parser=wav --enable-parser=amr \

1 comment:

  1. How does it help? Why would one build ffmpeg for iphone ? Can you then use it on mobile device to convert from one format to another?

    ReplyDelete