当前位置: 首页 > news >正文

zlm启用webrtc交叉编译指南

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

相关文章:

  • [免费]SpringBoot+Vue外卖(点餐)平台系统【论文+源码+SQL脚本】
  • 「出海匠」借助CloudPilot AI实现AWS降本60%,支撑AI电商高速增长
  • 鸿蒙开发-动画
  • C++核心机制-this 指针传递与内存布局分析
  • 读者、写者问题优化
  • 在AMGCL中使用多个GPU和多个计算节点求解大规模稀疏矩阵方程
  • JVM考古现场(十九):量子封神·用鸿蒙编译器重铸天道法则
  • 智能合约安全审计平台——以太坊虚拟机安全沙箱
  • Font Maker的成功之路:产品迭代与创新营销助力增长
  • 国达陶瓷重磅推出陶瓷罗马柱外墙整装尖端新产品“冠岩臻石”
  • Profibus DP主站转modbusTCP网关与dp从站通讯案例
  • 在vue项目中package.json中的scripts 中 dev:“xxx“中的xxx什么概念
  • 爬虫:一文掌握 curl-cffi 的详细使用(支持 TLS/JA3 指纹仿真的 cURL 库)
  • Nacos集群搭建和mysql持久化配置
  • 第三篇:[特殊字符] 深入理解MyBatis[特殊字符] 掌握MyBatis动态SQL——应对复杂查询的有力武器
  • 【vue】轮播图案例
  • 关于python字典的所有操作
  • 性能优化-Spring参数配置、数据库连接参数配置、JVM调优
  • 行锁(Row Locking)和MVCC(多版本并发控制)
  • 空地机器人在复杂动态环境下,如何高效自主导航?
  • 孙颖莎4比1击败陈幸同,与蒯曼会师澳门世界杯女单决赛
  • 精细喂养、富养宠物,宠物经济掀起新浪潮|私家周历
  • 建投读书会·东西汇流|西风东渐中的上海营造
  • 别把癌症当鼻炎,爱吃这类食物的人,尤其要警惕
  • 女子斥“老法师”涉嫌偷拍?街头摄影的边界应该怎么定?
  • 马上评丨直播员工上班?职场不是“楚门的世界”