iphone+ios編譯ffmpeg+for+ios(轉載加修改)

來源:互聯網
上載者:User

以下大家友情支援一下:

做了一個產品,需要人氣支援一下,android和iphone上91市場搜尋#super junior粉絲團#,或者直接到頁面下載http://m.ixingji.com/m.html?p=X16,大家幫忙捧捧場

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 armv7collect2: ld returned 1 exit status4. 重新修改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-pic5. 編譯: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希望各位能支援一下我們的網站:http://t.cn/zOdAUxJ  提提意見
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.