mirror of
https://github.com/ZLMediaKit/ZLMediaKit.git
synced 2026-01-12 00:04:03 +08:00
Page:
Windows 版编译说明
Pages
Benchmark
Dependency and Copyright
GB28181 SIP信令抓包
GB28181怎么用设备ID作为流ID
GB28181推流
HTTP文件服务器优化:获取文件大小
Home
How to create a live steam
MediaServer支持的HTTP API
MediaServer支持的HTTP HOOK API
Playing URL Rules
Quick Start
RTMP对H265和OPUS的支持
RTMP播放兼容性问题
RTSP性能优化
RTSP推流流程
Starting and Stopping the Server
VideoStack多视频流拼接宫格功能
Windows 版编译说明
ZLMediaKit实现按需拉流
ZLMediaKit实现推流鉴权
ZLMediaKit实现播放鉴权
ZLMediaKit推流测试
ZLMediaKit高并发实现原理
ZLMediakit独家特性介绍
postman 自动生成的restful api接口
rtmp拉流性能测试
rtmp推流性能测试
rtsp拉流性能测试
rtsp推流性能测试
vcpkg方式安装zlmediakit
webrtc信令交互格式
zlmediakit的hls高性能之旅
zlm启用webrtc编译指南
为什么不建议QQ私聊咨询问题?
代码依赖与版权声明
代码篇之onceToken
使用ZLMediaKit实现按需推流
在线测试
延时测试
快速开始
怎么开启https相关功能
怎么测试ZLMediaKit的延时?
性能测试
播放url规则
时序图
服务器的启动与关闭
流媒体相关技术介绍
生成SSL自签名证书并测试
直播延时的本质
视频会议相关资源
配置文件详解
Clone
基于 scoop + vcpkg 的 Windows 版编译说明
以下为基于 scoop + vcpkg 编译 ZLMediaKit 的一种方式.
scoop: Windows 命令行下使用的软件包安装管理工具;vcpkg: 微软发起的 C++ 库管理器, 其中有大量常用开源库;
由于可以在命令行下使用, 可以非常方便的进行自动化集成. 推荐大家试用.
以下步骤仅在 Windows 10 下测试, 未使用其他 Windows 版本进行测试, 不保证其他 Windows 版本的可用性.
以下所有操作如无特殊说明均需在 PowerShell 命令行下进行.
基于 scoop 及 vcpkg 安装编译依赖
下载安装 scoop 并使用 scoop 安装依赖工具
以下是为了安装依赖工具 cmake 和 ninja(可选, 但建议安装), 如已安装, 可跳过.
具体可参考其官网说明, 以下仅列出相关简要步骤.
- 设置环境变量
SCOOP, 用于配置scoop的下载安装目录(包括其管理的软件包):$env:SCOOP = 'C:\work\develop\scoop' - 为当前用户设置允许执行
powershell脚本:Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser - 安装
scoop:iwr -useb get.scoop.sh | iex - 为
scoop添加extras软件仓库:scoop bucket add extras - 安装
cmake及ninja:scoop install cmake ninja
为方便后续使用, 需将 C:\work\develop\scoop 设置到环境变量 SCOOP 中, 将 C:\work\develop\scoop\shims 追加到环境变量 PATH 中, 方法可自行查询.
下载配置 vcpkg 并使用 vcpkg 安装依赖库
以下是为了安装相关依赖库, 具体包括: openssl 以及 libsrtp, 其他可选依赖(如: ffmpeg)也应可安装, 暂未测试.
- 下载
vcpkg, 其中包括各种配置脚本以及开源库的编译脚本, 下载路径假设为:C:\work\develop, 执行:git clone https://github.com/microsoft/vcpkg - 下载预编译的
vcpkg包管理工具:.\vcpkg\bootstrap-vcpkg.bat -disableMetrics - 编译
openssl:.\vcpkg\vcpkg.exe install --triplet=x64-windows-static openssl - 编译
libsrtp, 需要ENABLE_OPENSSL, 可编辑C:\work\develop\vcpkg\ports\libsrtp\portfile.cmake, 修改vcpkg_configure_cmake为如下:然后进行编译:vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA OPTIONS -DENABLE_OPENSSL:BOOL=ON ).\vcpkg\vcpkg.exe install --triplet=x64-windows-static libsrtp
编译
从开始菜单中打开 vs2015/2017/2019 的开发者命令行模式, 默认未找到基于 powershell 的 x64 位版本, 可先使用 cmd 版本, 然后执行 powershell 切换到 powershell.
- 编译 ZLMediaKit
mkdir build cd build $VCPKG_CMAKE = 'C:\work\develop\vcpkg\scripts\buildsystems\vcpkg.cmake' $VCPKG_INSTALL_PATH = 'C:\work\develop\vcpkg\installed\x64-windows-static' $CMAKE_OPTIONS = @( "-GCodeBlocks - Ninja" "-DCMAKE_BUILD_TYPE:STRING=RelWithDebInfo" "-DCMAKE_C_COMPILER:STRING=cl.exe" "-DCMAKE_CXX_COMPILER:STRING=cl.exe" "-DCMAKE_TOOLCHAIN_FILE:FILEPATH=$VCPKG_CMAKE" "-DCMAKE_PREFIX_PATH:FILEPATH=$VCPKG_INSTALL_PATH" "-DVCPKG_TARGET_TRIPLET:STRING=x86-windows-static" "-DENABLE_WEBRTC:BOOL=ON" ) cmake .. @CMAKE_OPTIONS cmake --build . --target all
编译 64 位程序在链接 openssl 时还需要链接 Crypt32.lib 和 ws2_32.lib, 正常在执行 cmake .. @CMAKE_OPTIONS 时有类似输出:
found library:C:/work/develop/vcpkg/installed/x64-windows-static/lib/libssl.lib;C:/work/develop/vcpkg/installed/x64-windows-static/lib/libcrypto.lib;Crypt32.lib;ws2_32.lib,ENABLE_OPENSSL defined
如果没有 Crypt32.lib;ws2_32.lib, 可手动修改 CMakeLists.txt 进行解决(可搜索 OPENSSL_LIBRARIES 找到对应位置).
list(APPEND LINK_LIB_LIST ${OPENSSL_LIBRARIES} Crypt32.lib ws2_32.lib)
测试文档
使用教程
- 代码依赖与版权声明
- 快速开始
- vcpkg安装zlmediakit
- 服务器的启动与关闭
- GB28181教程
- 推流播放测试
- RESTful 接口
- RESTful 接口 postman自动生成
- Web Hook 接口
- 配置文件详解
- 播放URL规则
- 按需拉流
- 按需推流
- 播放鉴权
- 推流鉴权
- 怎样创建直播流
- webrtc编译与使用
- webrtc信令交互格式
- 怎么开启https相关功能
相关文档和资源
- zlmediakit独家特性
- zlmediakit的hls高性能之旅
- 高并发实现原理
- RTSP推流流程
- 流媒体相关技术介绍
- 直播延时的本质
- rtmp对H265/opus的支持
- ssl自签名证书测试
- 视频会议相关资源