CentOS7编译ZLMediaKit并使能WebRTC

使能WebRTC需要libsrtp库, libsrtp库需要openssl, 所以第一步先安装openssl, 系统自带的版本是1.0.2的, libsrtp需要1.1.1以上版本, 需要使用源码进行编译;

GCC准备

需要安装gcc7以上版本, 并切换到gcc7的编译环境

bash 复制代码
yum install centos-release-scl
yum install devtoolset-7-gcc*
yum install devtoolset-7-gdb*

scl enable devtoolset-7 bash

使用gcc --version验证下看是否为gcc7了, 接下来进入编译环节

OpenSSL编译安装

使用1.1.1版本的代码, 下载地址:https://github.com/openssl/openssl/archive/refs/heads/OpenSSL_1_1_1-stable.zip

解压, 进入目录, 进行配置

bash 复制代码
./Configure shared --openssldir=/usr/local/openssl --prefix=/usr/local/openssl
make
make install

一定要配置安装目录, 后面编译libsrtp要用到, 否则编译会很遇到很多麻烦;

libsrtp库编译安装

使用2.4.2版本的代码, 这是咨询了ZLMediaKit作者后告知的,下载地址:

https://github.com/cisco/libsrtp/archive/refs/tags/v2.4.2.tar.gz

解压, 进入目录, 进行配置

bash 复制代码
./configure --enable-openssl --with-openssl-dir=/usr/local/openssl
make
make install

ZLMediaKit的编译

至此准备工作已经做好, 进入到ZLMediaKit的目录中, 创建编译目录build, 如果已经创建而且编译过最好将该目录清空,

进入build目录, 使用cmake进行配置

cmake -DENABLE_WEBRTC=on ../

我的服务器上配置结果大致是这样的:

bash 复制代码
-- 编译类型: Debug
-- Git version is master 08a9e93/%aI 2024-04-08T21:53:48
-- found library: /usr/lib64/libssl.so;/usr/lib64/libcrypto.so, ENABLE_OPENSSL defined
-- MySQL not found.
-- ENABLE_MP4 defined
-- ENABLE_RTPPROXY defined
-- ENABLE_HLS defined
-- Socket default buffer size is set to 262144
-- set_file_group /home/mnt/MediaKit/ZLMediaKit/3rdpart/ZLToolKit/src 78
-- set_file_group /home/mnt/MediaKit/ZLMediaKit/src 205
-- srt 功能已开启
-- found library: /usr/local/lib/libsrtp2.a
-- SCTP LIBRARIES: SCTP_LIBRARIES-NOTFOUND
-- SCTP INCLUDE DIRS: SCTP_INCLUDE_DIRS-NOTFOUND
-- WebRTC 功能已开启

其中/usr/lib64/libssl.so;/usr/lib64/libcrypto.so这两个库文件默认是1.0.2版本的, 如果接下来编译有openssl库相关的报错, 将这两个文件建立软连接到1.1.1版本库对应文件上

然后make即可

至此基本可顺利编译通过, 尽量简短解说, 有疏漏的地方后面再补上.

相关推荐
CrystalShaw3 小时前
WebRTC音频QoS方法一.1(NetEQ之音频网络延时DelayManager计算补充)
音视频·webrtc
scorpion_V7 小时前
WebRTC 结合云手机:释放实时通信与虚拟手机的强大协同效能
vue.js·智能手机·webrtc
ZEGO即构开发者2 天前
简单4步,快速搭建数字人实时视频通话功能
实时互动·webrtc·实时音视频·数字人·即时通讯·rtc·视频聊天·虚拟人·社交·音视频技术·ai虚拟人·ai语音驱动·android多人语音·java多人语音通话·zego·泛娱乐·社交泛娱乐·视频美颜·虚拟形象sdk·自动聊天机器人
等风来不如迎风去4 天前
Jetson Xavier NX 与 NVIDIA RTX 4070 (12GB)
udp·webrtc·cmake·clion
Antonio9157 天前
【音视频】WebRTC 一对一通话 peerconnection_client 分析
音视频·webrtc
RTC老炮13 天前
webrtc弱网-QualityRampUpExperimentHelper类源码分析与算法原理
webrtc
RTC老炮17 天前
webrtc弱网-BandwidthQualityScaler 源码分析与算法原理
webrtc
lqg_zone19 天前
基于 Socket.IO 实现 WebRTC 音视频通话与实时聊天系统(Spring Boot 后端实现)
spring boot·音视频·webrtc
圆心角21 天前
webrtc的核心原理
前端·webrtc
Antonio91521 天前
【音视频】WebRTC 一对一通话-信令服
c++·websocket·音视频·webrtc