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即可

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

相关推荐
简离10 天前
前端调试实战:基于 chrome://webrtc-internals/ 高效排查WebRTC问题
前端·chrome·webrtc
YYDataV数据可视化11 天前
【P2P音视频通信系统】之 WebRTC Android平台 aar 下载
webrtc·实时音视频
dazhong201212 天前
WebRTC信令简介
webrtc
YYDataV数据可视化12 天前
【P2P音视频通信系统】之TURN 服务详解
音视频·webrtc·实时音视频·ai编程
YYDataV数据可视化12 天前
【P2P音视频通信系统】WebRTC 之 ICE 详解
网络协议·音视频·webrtc·p2p·ice·candidate
YYDataV数据可视化12 天前
【P2P音视频通信系统】webrtc 之 SDP 详解
音视频·webrtc·sdp
YYDataV数据可视化13 天前
【P2P音视频通信系统】之STUN服务详解
webrtc·p2p·stun·音视频通信
YYDataV数据可视化13 天前
WebRTC ICE 候选类型详解:对等反射候选者(Peer Reflexive Candidate)
webrtc·实时音视频·ai编程
YYDataV数据可视化13 天前
【音视频通话系统】架构详解
音视频·webrtc·实时音视频
REDcker14 天前
RTP、RTCP 与 SRTP 协议详解
网络·音视频·webrtc·实时音视频·rtp·rtcp