ZLMediaKit 流媒体服务器编译 - Windows系统(一次成功)

1 ZLMediaKit 是什么🤔

ZLMediaKit是一个开源的基于C++11的高性能运营级流媒体服务框架。可以实现rtsp、rtmp、http-flv、gb28181、webrtc等协议的推拉流、代理、互转等等功能。

2 前期准备

  1. windows系统(10或11)
  2. cmake编译工具
  3. OpenSSL软件库包
  4. libsrtp安全实时传输协议的开发包
  5. ZLMediaKit流媒体服务器代码

❗︎注意:由于ZLMediaKit使用了一些其他的开源代码库,所以你不能直接通过 GitHub 网站上的 Download ZIP 的方式下载,而是需要Git Bash执行以下代码下载,然后打包上传到你需要编译的服务器

sh 复制代码
# 国内用户推荐从同步镜像网站gitee下载
git clone --depth 1 https://gitee.com/xia-chu/ZLMediaKit
cd ZLMediaKit
# 初始化并更新子模块
git submodule update --init

😉为了方便,我已提供了打包好的 ZLMediaKit 编译包

3 开始安装

3.1 安装 Microsoft Visual Studio 2022

按如下选择:

❗︎需要勾选上适用于 Linux 的 C++ CMake 工具,不然可能会出问题(截图标注有误)

更改安装位置,开始安装

安装完成后需要重启电脑

3.2 安装 cmake

解压文件 cmake-3.24.2-windows-x86_64.zip 即可

3.3 安装OpenSSL

3.3.1 安装

后面直接默认下一步

3.3.2 配置环境变量

打开 cmd 输入:openssl version,出现版本信息即代表安装成功

❗︎如果出现版本对应不上的情况,是因为其他软件安装了 OpenSSL 并配了环境变量造成冲突,不需要管它,只要配了环境变量cmake就能识别

3.4 安装 libsrtp

3.4.1 解压

解压文件libsrtp-2.4.2.zip

3.4.2 新建构建目录

新建buildinstall文件夹,用于存放构建make install后的srtp文件

3.4.3 cmake-gui 构建

打开D:\software\cmake-3.24.2-windows-x86_64\bin下的cmake-gui.exe文件 设置strp源码路径build路径,并点击Configure设置生成器

选择生成器为VS 2022,平台为x64,然后点击Finish

待cmake完成第一次配置后:

  1. 勾选BUILD_SHARED_LIBS(关键,勾选后才会生成dll);
  2. 点击CMAKE_INSTALL_PREFIX后的路径修改为刚才新建的install文件夹
  3. 然后勾选ENABLE_OPENSSL
  4. 最后点击Generate生成。

由于之前已经配了OpenSSL的环境变量,这里会自动加载出OpenSSL的库文件路径。然后点击Open Project

选择VS 2022打开(暂时跳过登录)

找到右侧的INSTALL右键点击 -> 生成

如图代表生成完毕

然后配置以下两个环境变量

3.5 编译生成 ZLMediaKit

3.5.1 解压

解压ZLMediaKit源码,并新建build文件夹

3.5.2 cmake-gui 构建

跟之前一样打开cmake-gui.exe,并配置源码build路径,并点击Configure设置同样的生成器:VS 2022x64

  1. 填写CMAKE_INSTALL_PREFIX路径(自己新建一个路径,这个就是ZLMediaKit的入口);
  2. 勾选ENABLE_WEBRTC
  3. 点击Generate生成;
  4. 生成完毕后,点击Open Project,使用VS 2022打开;
  5. 找到右侧的INSTALL右键点击 -> 生成(此步骤需要等待较长时间)。

然后就会在刚才配置的 ZLMediaKit 入口下生成相关文件

4 运行

打开ZLMediaKit入口bin文件夹下的MediaServer.exe即可启动服务

如图代表启动成功

5 参考资料

  1. ZLMediaKit快速开始
  2. ZLMediaKit在Windows下启用WebRtc编译(64位)
  3. ZLMediaKit配置文件详解

至此编译完成,有问题请在评论区指出。

相关推荐
CoovallyAIHub4 天前
仿生学突破:SILD模型如何让无人机在电力线迷宫中发现“隐形威胁”
深度学习·算法·计算机视觉
CoovallyAIHub4 天前
从春晚机器人到零样本革命:YOLO26-Pose姿态估计实战指南
深度学习·算法·计算机视觉
CoovallyAIHub4 天前
Le-DETR:省80%预训练数据,这个实时检测Transformer刷新SOTA|Georgia Tech & 北交大
深度学习·算法·计算机视觉
CoovallyAIHub4 天前
强化学习凭什么比监督学习更聪明?RL的“聪明”并非来自算法,而是因为它学会了“挑食”
深度学习·算法·计算机视觉
CoovallyAIHub4 天前
YOLO-IOD深度解析:打破实时增量目标检测的三重知识冲突
深度学习·算法·计算机视觉
炼金术5 天前
AI 驱动的自主开发闭环:从"人工测试员"到"需求驱动"的转变
ai编程·音视频开发
这张生成的图像能检测吗6 天前
(论文速读)XLNet:语言理解的广义自回归预训练
人工智能·计算机视觉·nlp·注意力机制
十铭忘6 天前
自主认知-行动1——架构
人工智能·计算机视觉
yuzhuanhei6 天前
YOLO26实操记录(自用)
人工智能·计算机视觉·目标跟踪
sali-tec6 天前
C# 基于OpenCv的视觉工作流-章27-图像分割
图像处理·人工智能·opencv·算法·计算机视觉