iphone ios编译ffmpeg
1.mov格式解析
http://blog.csdn.net/sunshine1314/article/details/2547275
2。mov解析的開源工程:bento4和ffmpeg,其中bento4直接有xcode的工程文件,和比較詳細的test代碼
3。ffmpeg如何解析幀圖像,可以看看extracting-frames-from-movies-on-iphone
http://www.codza.com/extracting-frames-from-movies-on-iphone
4。ffmpeg?iphone編譯
http://www.cnblogs.com/wwwkhd/archive/2011/08/09/2131780.html
5.圖解autoscan、aclocal、autoheader、automake、autoconf、configure、make http://jaguar13.iteye.com/blog/614427
6第十五章?make的常見錯誤信息
http://www.linuxsir.org/main/doc/gnumake/GNUmake_v3.80-zh_CN_html/make-15.html
1.?下載:
git?clone?git://github.com/lajos/iFrameExtractor.git
?
2.?編輯:
build_armv6和build_armv7,修改./configure后面的參數,主要是SDK版本.我的是4.3,修改為:
./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/iPhoneOS4.3.sdk?--cpu=arm1176jzf-s?--extra-cflags='-arch?armv6'?--extra-ldflags='-arch?armv6'
?
3.?編譯:
出錯,提示:
?
/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/gcc?is?unable?to?create?an?executable?file.
C?compiler?test?failed.
查看config.err文件,最后提示: ld:?file?not?found:?/usr/lib/system/libcache.dylib?for?architecture?armv7 collect2:?ld?returned?1?exit?status 4.?重新修改configure參數為: ./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/iPhoneOS4.3.sdk?--cpu=cortex-a8?--extra-cflags='-arch?armv7'?--extra-ldflags='-arch?armv7?-isysroot/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.3.sdk'?--enable-pic 5.?編譯: build_armv7 最后生成靜態庫,在lib目錄和armv7目錄. 6.用xcode(我的是4.0版本)打開iFrameExtractor.xcodeproj,現在編譯會出錯,需要修改幾個地方: 左邊選中工程,中間選中target,右面選中Build?settings,在Architectures選項卡里面選擇Architetures為Optimized(armv7),Base?SDK為Latest?iOS(iOS?4.3)?Valid?Architectures填寫armv7. 編譯目標選擇iOS?Device,當然,如果有連接電腦的設備,可以選擇設備. 編譯,提示:Undefined?symbols?for?architecture?armv7:
??"_BZ2_bzDecompressInit",?referenced?from:
??????_matroska_decode_buffer?in?libavformat.a(matroskadec.o)
??"_BZ2_bzDecompressEnd",?referenced?from:
??????_matroska_decode_buffer?in?libavformat.a(matroskadec.o)
??"_BZ2_bzDecompress",?referenced?from:
??????_matroska_decode_buffer?in?libavformat.a(matroskadec.o)
?
添加庫libbz2.1.0.dylib,再次編譯,OK通過.
?
7.?修改了ffmpeg版本到最新版(0.7),編譯的時候需要把common.mak復制到新版本目錄.
編譯的時候遇到錯誤:
ERROR:?.endm?without?.macro?at?/usr/local/bin/gas-preprocessor.pl?line?83,?<ASMFILE>?line?55
用老版本的libavcodec/arm/asm.S和libavcoec/arm/dsputil_arm.S覆蓋新版本(實際上我懷疑只覆蓋asm.S即可),重新編譯即可.
經過驗證:需要同時覆蓋2個文件。這一步我沒按照原文的弄,我是按照錯誤提示,修改了ffmpeg中的代碼(改了上面提到的2個文件,還有其他一些錯誤),才編譯通過的。改起來應該不難。 原文:http://blog.csdn.net/tsingien/article/details/6457246總結
以上是生活随笔為你收集整理的iphone ios编译ffmpeg的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 电脑开机黑屏时间长怎么办 Win10开机
- 下一篇: 苹果通知推送服务(APNS)关键特性摘要