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

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

相关推荐
youcans_2 分钟前
【微软:多模态基础模型】(5)多模态大模型:通过LLM训练
人工智能·计算机视觉·大模型·大语言模型·多模态
威桑40 分钟前
CMake + mingw + opencv
人工智能·opencv·计算机视觉
只怕自己不够好2 小时前
《OpenCV 图像基础操作全解析:从读取到像素处理与 ROI 应用》
人工智能·opencv·计算机视觉
嵌入式大圣2 小时前
嵌入式系统与OpenCV
人工智能·opencv·计算机视觉
GL_Rain5 小时前
【OpenCV】Could NOT find TIFF (missing: TIFF_LIBRARY TIFF_INCLUDE_DIR)
人工智能·opencv·计算机视觉
向阳逐梦7 小时前
ROS机器视觉入门:从基础到人脸识别与目标检测
人工智能·目标检测·计算机视觉
有Li7 小时前
跨视角差异-依赖网络用于体积医学图像分割|文献速递-生成式模型与transformer在医学影像中的应用
人工智能·计算机视觉
xrgs_shz8 小时前
MATLAB读入不同类型图像并显示图像和相关信息
图像处理·计算机视觉·matlab
华清远见IT开放实验室11 小时前
【每天学点AI】实战图像增强技术在人工智能图像处理中的应用
图像处理·人工智能·python·opencv·计算机视觉
只怕自己不够好12 小时前
《OpenCV 图像缩放、翻转与变换全攻略:从基础操作到高级应用实战》
人工智能·opencv·计算机视觉