iphone ios编译ffmpeg
1.mov格式解析
http://blog.csdn.net/sunshine1314/article/details/2547275
2。mov解析的開源工程:bento4和ffmpeg,其中bento4直接有xcode的工程文件,和比較詳細(xì)的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的常見錯(cuò)誤信息
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后面的參數(shù),主要是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.?編譯:
出錯(cuò),提示:
?
/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參數(shù)為: ./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 最后生成靜態(tài)庫,在lib目錄和armv7目錄. 6.用xcode(我的是4.0版本)打開iFrameExtractor.xcodeproj,現(xiàn)在編譯會出錯(cuò),需要修改幾個(gè)地方: 左邊選中工程,中間選中target,右面選中Build?settings,在Architectures選項(xiàng)卡里面選擇Architetures為Optimized(armv7),Base?SDK為Latest?iOS(iOS?4.3)?Valid?Architectures填寫armv7. 編譯目標(biāo)選擇iOS?Device,當(dāng)然,如果有連接電腦的設(shè)備,可以選擇設(shè)備. 編譯,提示: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),編譯的時(shí)候需要把common.mak復(fù)制到新版本目錄.
編譯的時(shí)候遇到錯(cuò)誤:
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覆蓋新版本(實(shí)際上我懷疑只覆蓋asm.S即可),重新編譯即可.
經(jīng)過驗(yàn)證:需要同時(shí)覆蓋2個(gè)文件。這一步我沒按照原文的弄,我是按照錯(cuò)誤提示,修改了ffmpeg中的代碼(改了上面提到的2個(gè)文件,還有其他一些錯(cuò)誤),才編譯通過的。改起來應(yīng)該不難。 原文:http://blog.csdn.net/tsingien/article/details/6457246總結(jié)
以上是生活随笔為你收集整理的iphone ios编译ffmpeg的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 电脑开机黑屏时间长怎么办 Win10开机
- 下一篇: 苹果通知推送服务(APNS)关键特性摘要