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

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

相关推荐
硅谷秋水1 小时前
Zero-WAM:基于人类视频的上下文世界-动作建模,用于开放式任务泛化
人工智能·深度学习·计算机视觉·语言模型·机器人·音视频
YOLO数据集集合2 小时前
珊瑚健康状态检测数据集 | 珊瑚检测 白化监测 海洋生态 水下目标检测9034期
人工智能·目标检测·计算机视觉·珊瑚健康·白化监测·水下目标
HYHYLLLL2 小时前
【2026年】多模态AI在水务场景的应用
人工智能·深度学习·计算机视觉·水务
老孙讲技术17 小时前
把工地遮挡和掉线接进项目部:setMessageCallback 订 alarm 与 deviceStatus
后端·物联网·音视频开发
老孙讲技术17 小时前
关店后有人进门,监控值班群却没响:用 setMessageCallback 订 human,再用 aiHuman 打开人形
后端·物联网·音视频开发
老孙讲技术17 小时前
把园区几百路摄像头收进值班台账:bindDevice 入账与 listDeviceDetailsByPage 翻页
后端·物联网·音视频开发
老孙讲技术18 小时前
把没网没电的户外点位接进出画值班台:unBindDeviceInfo 核 SIMCard 与 bindDeviceLive
后端·物联网·音视频开发
字节跳动视频云技术团队19 小时前
从出片到出海:AI MediaKit 重塑短剧全链路生产力
人工智能·音视频开发
欧特克_Glodon1 天前
OpenCV计算机视觉开发入门与实践<二十七>:图像分割概述
c++·人工智能·opencv·计算机视觉
hahaha60162 天前
HLS高层次综合设计技巧--C++类和模板
图像处理·人工智能·算法·计算机视觉