編譯帶 OpenSSL 的 FFmpeg(4.1.1) iOS 靜態庫

0. 本文部分參考自?https://blog.csdn.net/github_35041937/article/details/80727772 及?http://www.lxweimin.com/p/f98db1d84d93

1. 首先把?https://github.com/kewlbear/FFmpeg-iOS-build-script clone到本地。

2. 修改?build-ffmpeg.sh 中?FF_VERSION="4.1.1"。

3.?添加?OPENSSL=`pwd`/openssl ,此時需要在工程目錄中新建名為 openssl 的文件夾,把編譯好的 openssl 的 include 和 lib 文件夾放入其中。具體編譯方法見?http://www.lxweimin.com/p/6066075d3aef? 。


3. 添加對 https 和 openssl 的支持,在?CONFIGURE_FLAGS 后追加 --enable-protocol=https --enable-openssl?--enable-protocol=crypto --enable-protocol=tls_openssl?,如果在第二步中已經定義?OPENSSL 的話,可以寫成如圖形式:

4. 精簡體積:如果不需要許多復雜的功能,可以在?CONFIGURE_FLAGS 中如下代碼:

CONFIGURE_FLAGS="$CONFIGURE_FLAGS --disable-decoders --enable-decoder=h264 --enable-decoder=aac"?

CONFIGURE_FLAGS="$CONFIGURE_FLAGS --disable-encoders --enable-encoder=aac --enable-encoder=mjpeg"?

CONFIGURE_FLAGS="$CONFIGURE_FLAGS --disable-filters"

CONFIGURE_FLAGS="$CONFIGURE_FLAGS --disable-muxers"

具體其他的 flag 還待研究,可以參考 ijkplayer 中的 module-lite.sh 自主選擇。

5. 添加對 openssl 的引用路徑,如圖:

6. 注:如果想修改最低 iOS 版本的支持,修改 DEPLOYMENT_TARGET="8.0" 即可。

7. 保存后 cd 到該文件夾,執行?./build-ffmpeg.sh (不要直接拖文件進來執行,不然導出的時候因為路徑不對會報錯)。如果終端顯示 Done ,說明編譯成功。

8.?編譯成功后在 FFmpeg-iOS 文件夾下可得 include 和 lib 。

9. 注: 該文章里使用的 OpenSSL 版本是 1.0.2r,使用 1.1.0 及以上版本編譯時會報錯?"ERROR: openssl not found",需要修改 FFmpeg 配置文件,具體解決方法見第二個參考文。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • FFmpeg的目錄結構 compact目錄下主要是頭文件,是為了兼容不同平臺或系統的數據類型定義,例如compat...
    張俊峰0613閱讀 1,883評論 0 2
  • 1. 安裝編譯環境 2. 下載源碼 3. 配置選項 通過configure來配置需要編譯的ffmpeg庫 3.1 ...
    Weller0閱讀 1,391評論 2 4
  • 最新FFMPEG一鍵編譯指南 樓主主要關注iOS上面的開發,所以本文只討論iOS平臺的一鍵編譯。不排除以后介紹An...
    九黎cpluser閱讀 2,152評論 1 2
  • 最難得,卻也最幸福的事,就是和你,你們,一起攜手走過的日子,看過的風景。 世界那么大,我們一起去走走,去看看,領略...
    醉舞飛洋閱讀 254評論 1 3
  • 人之與動物之區別在于能夠反省,思考自身行為的價值與意義,獅子的捕食與交配在于基因的作用,而對于自身為什么要這么做的...
    aaron603閱讀 156評論 0 0