ijkplayer - 拓展:編解碼器格式、https 支持、打包 framwork


1、配置編解碼器格式支持

默認為最少支持, 如果足夠你使用, 可以跳過這一步. 否則可以改為以下配置:

module-default.sh 更多的編解碼器/格式
module-lite-hevc.sh 較少的編解碼器/格式(包括hevc)
module-lite.sh 較少的編解碼器/格式(默認情況)

# 進入 config 目錄
cd config

# 刪除當前的 module.sh 文件
rm module.sh

# 可根據需要替換為`module-default.sh`, `module-lite-hevc.sh`, `module-lite.sh`
# 創建軟鏈接 module.sh 指向 module-lite-hevc.sh
ln -s module-lite-hevc.sh module.sh

cd ..
cd ios
sh compile-ffmpeg.sh clean

2、添加 https 支持

最后會生成支持 https 的靜態文件 libcrypto.a 和 libssl.a
# 獲取 openssl 並初始化
./init-ios-openssl.sh

cd ios

# 在模塊文件中添加一行配置 以啟用 openssl 組件
echo 'export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-openssl"' >> ../config/module.sh

./compile-ffmpeg.sh clean
添加 openssl相關包以支持https

手動給IJKMediaFramework添加 libcrypto.a 和 libssl.a 文件, 默認不會添加

這兩個依賴庫的目錄為: ijkplayer-ios/ios/build/universal/lib, 只有進行了上面跟  openssl 相關的操作, 才會在這個目錄下有生成 libcrypto.a 和 libssl.a

3、打包 framwork

除了 IJKMediaFramework這個target, 還有一個叫 IJKMediaFrameworkWithSSL, 但是不推薦使用這個, 因為大部分基於 ijkplayer 的第三方框架都是使用的前者, 你把后者導入項目還是會報找不到包的錯誤, 就算你要支持 https 也推薦使用前者, 然后按照上一步添加 openssl即可支持

首先將debug改為release

 

 

  根據需要 編譯真機 和 模擬器架構

  合並架構

  執行: lipo -create 真機framework路徑 模擬器framework路徑 -output 合並的文件路徑

    cd 到 Products 路徑下執行:

lipo -create Release-iphoneos/IJKMediaFramework.framework/IJKMediaFramework Release-iphonesimulator/IJKMediaFramework.framework/IJKMediaFramework -output IJKMediaFramework

 

  如果合並,后需要把合並后的framework替換掉 Release-iphoneos中的 IJKMediaFramework

  如果之前的步驟刪除了compile-ffmpeg.sh中armv7,這里會 報錯,我們直接注釋掉就好
  

  用Xcode9可以找到這個 ,但是用Xcode10\11找不到這個 ,本人用Xcode9注釋完,在用Xcode10/11編譯就沒問題了.

  實在有需要的同學點贊留言區留郵箱。就不弄雲存儲了。還得維護😭。

添加系統支持庫

 

 

拖進項目即可 

 

 

覺得有用的同學點個關注,或者留言評論區,看到郵件提示消息盡快回復。

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM