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配置文件详解

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

相关推荐
qwy71522925816311 小时前
10-图像的翻转
人工智能·opencv·计算机视觉
lovod12 小时前
视觉SLAM十四讲合集
计算机视觉·slam·视觉slam·g2o·ba·位姿图
kiro_102313 小时前
BGRtoNV12与NV12toBGR互转函数
人工智能·opencv·计算机视觉
学步_技术16 小时前
多模态学习—A Survey of Multimodal Learning: Methods, Applications, and Future
人工智能·深度学习·计算机视觉
学步_技术17 小时前
多模态学习—Multimodal image synthesis and editing: A survey and taxonomy
人工智能·深度学习·计算机视觉
GatiArt雷17 小时前
基于Torch-Pruning的ResNet模型轻量化剪枝实战——解决边缘设备部署痛点
人工智能·深度学习·计算机视觉
Dingdangcat8618 小时前
【技术解析】TOOD-R101-FPN-MS-2x-COCO导弹目标检测模型实现与优化
人工智能·目标检测·计算机视觉
qwy71522925816318 小时前
13-图像的透视
人工智能·opencv·计算机视觉
光羽隹衡18 小时前
计算机视觉——Opencv(图像直方图与掩膜)
人工智能·opencv·计算机视觉
2501_9416527720 小时前
Grid-RCNN实战_基于香烟盒检测与识别的完整实现详解
人工智能·计算机视觉·目标跟踪