1. <ul id="0c1fb"></ul>

      <noscript id="0c1fb"><video id="0c1fb"></video></noscript>
      <noscript id="0c1fb"><listing id="0c1fb"><thead id="0c1fb"></thead></listing></noscript>

      99热在线精品一区二区三区_国产伦精品一区二区三区女破破_亚洲一区二区三区无码_精品国产欧美日韩另类一区

      RELATEED CONSULTING
      相關(guān)咨詢
      選擇下列產(chǎn)品馬上在線溝通
      服務(wù)時間:8:30-17:00
      你可能遇到了下面的問題
      關(guān)閉右側(cè)工具欄

      新聞中心

      這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
      調(diào)用某些FFMpeg的命令

      在成功編譯FFMpeg之后,調(diào)用某些FFMpeg的命令還需要用到libx264,因此需要額外編譯libx264并打包在FFMpeg中

      成都創(chuàng)新互聯(lián)提供網(wǎng)站設(shè)計、網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計,成都品牌網(wǎng)站建設(shè)廣告投放等致力于企業(yè)網(wǎng)站建設(shè)與公司網(wǎng)站制作,10多年的網(wǎng)站開發(fā)和建站經(jīng)驗,助力企業(yè)信息化建設(shè),成功案例突破成百上千家,是您實現(xiàn)網(wǎng)站建設(shè)的好選擇.

      1. 編譯環(huán)境:

      Mac OS 10.9 XCode6.1

      2. libx264的編譯

      編譯包需要符合arm64、armv7s、armv7、x86_64、i386這幾個架構(gòu)。前面3個是給真機使用的,后面2個是給模擬器使用的。目前使用FFmpeg-iOS-build-script作者寫的一鍵編譯腳本只能編譯出適用于模擬器的.a包,適用于真機的包還需要自己手動編譯。有時間可以研究它的編譯腳本源碼,添加上手動編譯的代碼,這里先做一個總結(jié)。

      (1)首先到http://www.videolan.org/developers/x264.html 下載最新的libx264源碼包,解壓之后是一個含snapshot-xxxx的一個文件夾,把它拷貝到隨便一個文件夾下,重命名為x264;

      (2)到https://github.com/kewlbear/x264-ios 下載x264的一鍵編譯腳本文件,把它放到跟x264文件夾同級的地方;

      (3)運行腳本./build-x264.sh;

      (4)腳本運行完畢之后,會多出幾個文件夾:x264-iOS,scratch-x264,thin-x264。其中x264-iOS是最終的輸出,里面有include和lib兩個文件夾。lib文件夾里面只有*.a一個文件。如果順利的話,這個包是一個fat包,是包含了arm64、armv7s、armv7、x86_64、i386這幾個架構(gòu)的,但是在我的機器上,用lipo命令看,只有x86_64、i386這兩種架構(gòu),具體原因還沒有搞清楚。因此我們還需要手動編譯arm64、armv7s、armv7的包,繼續(xù)下一步;

      (5)再拷貝一份源碼出來,放到另外一個文件夾下,在命令行中進入這個文件夾;

      (6)編譯armv7的包:進入源碼的文件夾后,在命令行中輸入

       

      CC=/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang  

      ./configure --host=arm-apple-darwin --sysroot=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS8.1.sdk 

      --prefix='build' --extra-cflags='-arch armv7' --extra-ldflags='-arch armv7 -L/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS8.1.sdk/usr/lib/system' 

      --enable-pic --extra-asflags='-arch armv7'

      注意修改里面的iPhoneOS版本。

      如果config成功,命令行會提示可以執(zhí)行make命令了,先不急著執(zhí)行make。手動copy 一個新版的gas-preprocessor.pl到extras目錄下面。gas-preprocessor.pl我用的是https://git.libav.org/?p=gas-preprocessor.git;a=blob;f=gas-preprocessor.pl;h=44d11178667ece04df993e50023b41155d53582a;hb=HEAD 這個版本,源碼1033行,比x264的源碼要長很多。

      復(fù)制完畢后,在命令行中執(zhí)行make;執(zhí)行完make之后再執(zhí)行make install,成功后會發(fā)現(xiàn)源碼文件夾里面多了一個libx264.a的包,用lipo查看,確實是armv7的架構(gòu),把它拷貝出來,重命名為libx264-armv7。

      (7)編譯armv7s的包。先執(zhí)行下make clean,清除上一步執(zhí)行得到的結(jié)果。編譯armv7s的包與編譯armv7的步驟完全一致,只不過配置需要略微修改,且不需要再拷貝gas-preprocessor.pl文件。配置命令如下:

       

      CC=/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang  

      ./configure --host=arm-apple-darwin --sysroot=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS8.1.sdk 

      --prefix='build' --extra-cflags='-arch armv7s' --extra-ldflags='-arch armv7s -L/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS8.1.sdk/usr/lib/system' 

      --enable-pic --extra-asflags='-arch armv7s'

      同樣得到一個libx264.a的包,拷貝出來,重命名為libx264-armv7s。

      (8)編譯arm64的包,方法同上,配置命令如下:

      CC=/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang  

      ./configure --host=aarch74-apple-darwin --sysroot=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS8.1.sdk 

      --prefix='build' --extra-cflags='-arch arm64' --extra-ldflags='-arch arm64 

      -L/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS8.1.sdk/usr/lib/system' --enable-pic --extra-asflags='-arch arm64'

      同樣得到一個libx264.a的包,拷貝出來,重命名為libx264-arm64。

      (9)此時我們得到了*.a,libx264-armv7.a,libx264-armv7s.a,libx264-arm64.a四個文件,用lipo命令把他們?nèi)诤铣梢粋€包:

      lipo -create *.a,libx264-armv7.a,libx264-armv7s.a,libx264-arm64.a -output libx264.a

      把生成的libx264.a的包拷貝回x264-iOS/lib中,和include一起,整個x264-iOS當(dāng)做libx264的output

      3. 編譯帶x264的ffmpeg包

      拷貝x264-iOS到build-ffmpeg.sh腳本所在目錄下,并重命名x264-iOS為fat-x264,清除build-ffmpeg.sh腳本中X264=`pwd`/fat-x264一行的注釋,保存后執(zhí)行腳本,順利的話就會跟之前一樣生成各個包啦。。相比之前,會多出一個libpostproc.a。

      4. 在項目中使用帶x264的ffmpeg以及l(fā)ibx264

      如果直接替換掉原來的FFMPEG .a庫,會報編譯錯誤。此時需要加上libx264。把x264-iOS(含頭文件和.a)拖到項目中,link framework中加入libx264,user header search path中加入x264-iOS/include的路徑,運行就可以了。


      網(wǎng)站標(biāo)題:調(diào)用某些FFMpeg的命令
      標(biāo)題鏈接:http://www.ef60e0e.cn/article/jdojig.html
      99热在线精品一区二区三区_国产伦精品一区二区三区女破破_亚洲一区二区三区无码_精品国产欧美日韩另类一区
      1. <ul id="0c1fb"></ul>

        <noscript id="0c1fb"><video id="0c1fb"></video></noscript>
        <noscript id="0c1fb"><listing id="0c1fb"><thead id="0c1fb"></thead></listing></noscript>

        冷水江市| 宜兰市| 揭阳市| 象州县| 中西区| 定兴县| 景东| 会泽县| 湖南省| 桂东县| 县级市| 江城| 清镇市| 宁南县| 朝阳县| 普宁市| 嵊州市| 武清区| 冕宁县| 化隆| 随州市| 蓝田县| 盐边县| 紫阳县| 洛川县| 洞口县| 荆州市| 荥阳市| 沈阳市| 大荔县| 彰化县| 云和县| 阆中市| 宁城县| 监利县| 宁津县| 萝北县| 香河县| 罗定市| 宁武县| 皮山县|