zlm启用webrtc交叉编译指南

发布于:2025-04-19 ⋅ 阅读:(24) ⋅ 点赞:(0)

zlm启用webrtc交叉编译指南

一、交叉编译openssl

下载openssl-1.1.1k版本,其他版本可能会有问题

$ wget https://www.openssl.org/source/openssl-1.1.1k.tar.gz

$ tar -xvzf openssl-1.1.1k.tar.gz

$ cd openssl-1.1.1k

$ ./config no-asm shared --openssldir=/usr/local/openssl --prefix=/usr/local/openssl --cross-compile-prefix=arm-linux-gnueabihf-

$ vi Makefile //收索并删除掉文件中的 -m64 并保存

$ make && make install

$ echo "/usr/local/openssl/lib" >> /etc/ld.so.conf

$ ldconfig

$ ln -s /usr/local/openssl/bin/openssl  /usr/local/bin/openssl # 替换系统openssl,非必须

  • 交叉编译libsrtp

$ tar -xvzf libsrtp-2.3.0.tar.gz

$ cd libsrtp-2.3.0

$./configure --host=arm-linux-gnueabihf --prefix=/usr/libsrtp --enable-openssl crypto_LIBS="-L/usr/local/openssl/lib" crypto_CFLAGS="-I/usr/local/openssl/include"

$ make -j8 && make install

  • 交叉编译ZLM

$ git clone --depth 1 https://gitee.com/xia-chu/ZLMediaKit

$ cd ZLMediaKit

$ git submodule update --init #一定不要忘记这一行命令

$ vi CMakeList.txt

修改ZLM的CMakeList.txt

添加如下命令,注意:修改箭头处的编译工具路径和名称为本机路径和名称

SET(CMAKE_SYSTEM_NAME Linux)

SET(CMAKE_SYSTEM_PROCESSOR arm)

SET(TOOLCHAIN_DIR "/opt/atk-dlrv1126-toolchain/usr")

SET(CMAKE_FIND_ROOT_PATH ${TOOLCHAIN_DIR})

SET(CMAKE_C_COMPILER ${TOOLCHAIN_DIR}/bin/arm-linux-gnueabihf-gcc)

SET(CMAKE_CXX_COMPILER ${TOOLCHAIN_DIR}/bin/arm-linux-gnueabihf-g++)

$ vi cmake/FindSRTP.cmake

修改FindSRTP.cmake文件注释掉 find_path 和 find_library,添加set内容,如图所示

注意:路径应修改为本机交叉编译完成后的libsrtp路径

set(SRTP_INCLUDE_DIRS "/home/ebaina/xxx/libsrtp-2.3.0/output/include")

set(SRTP_LIBRARIES "/home/ebaina/xxx/libsrtp-2.3.0/output/lib/libsrtp2.a")

$ mkdir build

$ cd build

$ cmake .. -DENABLE_WEBRTC=true  -DOPENSSL_ROOT_DIR=/usr/local/openssl  -DOPENSSL_LIBRARIES=/usr/local/openssl/lib #注意修改路径为本机编译路径

$ cmake --build . --target MediaServer


网站公告

今日签到

点亮在社区的每一天
去签到