開篇: ZLMediaKit 你值得擁有
閑話不表贯被,直接上代碼
1鞭光、下載項(xiàng)目源文件,初始化項(xiàng)目依賴
git clone https://gitee.com/xiahcu/ZLMediaKit
cd ZLMediaKit
#千萬不要忘記執(zhí)行這句命令(wiki原文)
git submodule update --init
2笋庄、創(chuàng)建build目錄
cd ZLMediaKit
mkdir -p build
cd build
如果需要支持flash播放器效扫,或者要實(shí)現(xiàn)rtmps、rtsps直砂、wss荡短、https方式推拉流 需要在編譯時(shí)導(dǎo)入openssl,如果只需要支持rtmp、rtsp哆键、ws、http請(qǐng)直接跳至第5步
3瘦锹、編譯arm64架構(gòu) openssl
3.1下載openssl
點(diǎn)擊下載openssl-1.1.1g.tar.gz
要編譯其他版本可以在官網(wǎng)選擇
3.2下載編譯腳本
$ cd ..
$ mkdir shel
$ git clone https://github.com/gitusrs/openssl-ios-build-shell-script.git
$ git clone
3.3優(yōu)化腳本
解壓后打開 openssl-build.sh
找到"OPENSSL_COMPRESSED_FN"設(shè)置待解壓文件如下:
OPENSSL_COMPRESSED_FN="openssl-1.1.1g.tar.gz"
找到 ARCH_LIST=("armv7" "armv7s" "arm64" "i386" "x86_64")
腳本默認(rèn)編譯以上所有架構(gòu)籍嘹,我們只需要arm64,因此只保留arm64
ARCH_LIST=("arm64")
將下載的openssl壓縮文件openssl-1.1.1g.tar.gz 和 openssl-build.sh 放在同一個(gè)文件夾,本例文件夾為openssl-ios-build-shell-script
3.4執(zhí)行腳本
$ ./openssl-build.sh
等編譯完成弯院,打開openssl-1.1.1g-build文件夾辱士,里面就有arm64架構(gòu)的openssl
4修改cmake配置文件
進(jìn)入ZLMediaKit文件夾,打開CMakeLists.txt
將編譯好的arm64架構(gòu)的openssl 頭文件路徑,以及兩個(gè).a文件的路徑听绳,導(dǎo)入zlmtoolkit的依賴
找到"#查找openssl是否安裝"
將它下方部分代碼
find_package(OpenSSL QUIET)
if (OPENSSL_FOUND AND ENABLE_OPENSSL)
message(STATUS "found library:${OPENSSL_LIBRARIES},ENABLE_OPENSSL defined")
include_directories(${OPENSSL_INCLUDE_DIR})
add_definitions(-DENABLE_OPENSSL)
list(APPEND LINK_LIB_LIST ${OPENSSL_LIBRARIES})
else()
message(WARNING "openssl未找到颂碘,rtmp將不支持flash播放器锅劝,https/wss/rtsps/rtmps也將失效")
endif ()
替換成
#find_package(OpenSSL QUIET)
#if (ENABLE_OPENSSL)
message(STATUS "found library:${OPENSSL_LIBRARIES},ENABLE_OPENSSL defined")
include_directories("/Users/mihuasama/Desktop/shel/openssl-ios-build-shell-script/openssl-1.1.1g-build/arm64/include")
add_definitions(-DENABLE_OPENSSL)
list(APPEND LINK_LIB_LIST "/Users/mihuasama/Desktop/shel/openssl-ios-build-shell-script/openssl-1.1.1g-build/arm64/lib/libssl.a")
list(APPEND LINK_LIB_LIST "/Users/mihuasama/Desktop/shel/openssl-ios-build-shell-script/openssl-1.1.1g-build/arm64/lib/libcrypto.a")
#else()
# message(WARNING "openssl未找到,rtmp將不支持flash播放器乒融,https/wss/rtsps/rtmps也將失效")
#endif ()
其中
/Users/mihuasama/Desktop/shel/openssl-ios-build-shell-script/openssl-1.1.1g-build/arm64/include
為頭文件目錄
/Users/mihuasama/Desktop/shel/openssl-ios-build-shell-script/openssl-1.1.1g-build/arm64/lib/libssl.a /Users/mihuasama/Desktop/shel/openssl-ios-build-shell-script/openssl-1.1.1g-build/arm64/lib/libcrypto.a
為引入的靜態(tài)庫
5進(jìn)入build目錄劲赠,開始編譯
cmake .. -G Xcode -DCMAKE_TOOLCHAIN_FILE=../cmake/ios.toolchain.cmake -DPLATFORM=OS64COMBINED
編譯完成后,build目錄下就是我們需要的iOS版ZLMediaKit峡竣。
正文完
tips
沒有設(shè)置openssl路徑靠抑,直接執(zhí)行第五步,在編譯時(shí)會(huì)有一次warning,如果確實(shí)不需要适掰,忽略即可
CMake Warning at CMakeLists.txt:66 (message):
openssl未找到颂碧,rtmp將不支持flash播放器,https/wss/rtsps/rtmps也將失效