99偷拍视频精品区一区二,口述久久久久久久久久久久,国产精品夫妇激情啪发布,成人永久免费网站在线观看,国产精品高清免费在线,青青草在线观看视频观看,久久久久久国产一区,天天婷婷久久18禁,日韩动漫av在线播放直播

調用某些FFMpeg的命令

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

成都創新互聯提供網站設計、網站建設、網頁設計,成都品牌網站建設廣告投放等致力于企業網站建設與公司網站制作,10多年的網站開發和建站經驗,助力企業信息化建設,成功案例突破成百上千家,是您實現網站建設的好選擇.

1. 編譯環境:

Mac OS 10.9 XCode6.1

2. libx264的編譯

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

(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這幾個架構的,但是在我的機器上,用lipo命令看,只有x86_64、i386這兩種架構,具體原因還沒有搞清楚。因此我們還需要手動編譯arm64、armv7s、armv7的包,繼續下一步;

(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成功,命令行會提示可以執行make命令了,先不急著執行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的源碼要長很多。

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

(7)編譯armv7s的包。先執行下make clean,清除上一步執行得到的結果。編譯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命令把他們融合成一個包:

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

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

3. 編譯帶x264的ffmpeg包

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

4. 在項目中使用帶x264的ffmpeg以及libx264

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

網頁題目:調用某些FFMpeg的命令
鏈接URL:http://www.yijiale78.com/article6/jdojig.html

成都網站建設公司_創新互聯,為您提供App開發做網站服務器托管ChatGPT網站策劃網站營銷

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

微信小程序開發