ZLMediaKitWindows编译指南
- 开源代码
- 2025-08-28 02:54:02

1 ZLMediaKit Windows 一般编译指南
## 1. 环境准备
### 1.1 必需工具 ```plaintext 1. Visual Studio 2019 或更高版本 2. CMake (3.15+) 3. git 4. vcpkg (包管理器) ```
### 1.2 安装步骤
```mermaid flowchart TB A[安装 Visual Studio] --> B[安装 CMake] B --> C[安装 Git] C --> D[安装 vcpkg] D --> E[配置环境变量] ```
#### Visual Studio 安装选项 ```plaintext 必选组件: - MSVC C++ 构建工具 - Windows 10 SDK - CMake 工具 - Git for Windows ```
#### vcpkg 安装 ```powershell # 克隆 vcpkg git clone github /Microsoft/vcpkg.git cd vcpkg
# 运行安装脚本 .\bootstrap-vcpkg.bat
# 集成到 Visual Studio .\vcpkg integrate install ```
## 2. 获取源码
### 2.1 克隆仓库 ```powershell # 克隆主仓库 git clone github /ZLMediaKit/ZLMediaKit.git cd ZLMediaKit
# 更新子模块 git submodule update --init --recursive ```
### 2.2 目录结构 ```plaintext ZLMediaKit/ ├── 3rdpart/ # 第三方库 ├── api/ # API 接口 ├── cmake/ # CMake 配置文件 ├── server/ # 服务器实现 ├── src/ # 核心源码 └── tests/ # 测试用例 ```
## 3. 安装依赖
### 3.1 使用 vcpkg 安装依赖 ```powershell # 安装必要的库 vcpkg install openssl:x64-windows vcpkg install ffmpeg:x64-windows vcpkg install sdl2:x64-windows ```
### 3.2 依赖列表 ```plaintext 必需依赖: - OpenSSL - FFmpeg - SDL2 (可选,用于测试)
可选依赖: - faac - x264 ```
## 4. 编译配置
### 4.1 CMake 配置 ```powershell # 创建构建目录 mkdir build cd build
# 配置 CMake (Release 模式) cmake .. -G "Visual Studio 16 2019" -A x64 -DCMAKE_TOOLCHAIN_FILE=[vcpkg root]/scripts/buildsystems/vcpkg.cmake -DENABLE_TESTS=ON -DENABLE_API=ON -DENABLE_SERVER=ON -DCMAKE_BUILD_TYPE=Release ```
### 4.2 CMake 选项说明 ```cmake # 主要编译选项 option(ENABLE_TESTS "编译测试用例" ON) option(ENABLE_API "编译 API" ON) option(ENABLE_SERVER "编译服务器" ON) option(ENABLE_RTPPROXY "启用 RTP 代理" OFF) ```
## 5. 编译步骤
### 5.1 使用命令行编译 ```powershell # 在 build 目录下执行 cmake --build . --config Release
# 或使用 MSBuild msbuild ZLMediaKit.sln /p:Configuration=Release ```
### 5.2 使用 Visual Studio 编译 ```mermaid flowchart LR A[打开解决方案] --> B[选择 Release 配置] B --> C[生成解决方案] C --> D[检查输出目录] ```
## 6. 常见问题解决
### 6.1 编译错误 ```plaintext 1. 找不到依赖库 解决:检查 vcpkg 安装路径和 CMAKE_TOOLCHAIN_FILE 设置
2. 链接错误 解决:确保所有依赖库都是相同架构(x86/x64)
3. 路径问题 解决:使用绝对路径,避免空格和中文 ```
### 6.2 运行问题 ```powershell # 检查 DLL 依赖 dumpbin /dependents MediaServer.exe
# 确保依赖 DLL 在路径中 echo %PATH% ```
## 7. 测试验证
### 7.1 运行测试用例 ```powershell # 进入测试程序目录 cd build/tests/Release
# 运行测试 .\test_server.exe ```
### 7.2 服务器测试 ```powershell # 运行服务器 cd build/release/MediaServer .\MediaServer.exe ```
## 8. 发布准备
### 8.1 文件清单 ```plaintext 发布必需文件: ├── MediaServer.exe ├── config.ini ├── / └── DLL文件/ ├── libssl-1_1-x64.dll ├── libcrypto-1_1-x64.dll └── [其他依赖DLL] ```
### 8.2 配置文件 ```ini [zlmediakit] max_streams=50 stream_timeout=15 retry_count=3 ```
## 9. 性能优化
### 9.1 编译优化 ```cmake # CMake 优化选项 set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} /O2") set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} /Oi") set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} /GL") ```
### 9.2 运行优化 ```plaintext 1. 使用 Release 版本 2. 开启硬件加速 3. 调整缓冲区大小 4. 优化网络参数 ```
2 . ZLMediaKit WebRTC 支持编译指南## 1. WebRTC 支持说明
```mermaid flowchart TB subgraph "ZLMediaKit WebRTC" A["RTMP/RTSP/HLS"] --> B["Media Server"] C["WebRTC"] -.-> B B --> D["Browser"] style C stroke-dasharray: 5 5 end ```
### 1.1 默认编译 ```plaintext ❌ 默认编译配置不包含 WebRTC 支持 ❌ 标准编译命令无法启用 WebRTC 功能 ```
### 1.2 WebRTC 依赖 ```plaintext 额外依赖: - libsrtp - openssl - usrsctp - json ```
## 2. 启用 WebRTC 的编译步骤
### 2.1 安装额外依赖加上上面的
vcpkg install openssl:x64-windows vcpkg install ffmpeg:x64-windows vcpkg install sdl2:x64-windows ```powershell # 使用 vcpkg 安装必要的库 vcpkg install libsrtp:x64-windows vcpkg install usrsctp:x64-windows vcpkg install nlohmann-json:x64-windows ```
### 2.2 修改 CMake 命令 ```powershell cmake .. -G "Visual Studio 16 2019" -A x64 -DCMAKE_TOOLCHAIN_FILE=[vcpkg root]/scripts/buildsystems/vcpkg.cmake -DENABLE_TESTS=ON -DENABLE_API=ON -DENABLE_SERVER=ON -DENABLE_WEBRTC=ON -DCMAKE_BUILD_TYPE=Release ```
关键参数: ```plaintext -DENABLE_WEBRTC=ON # 启用 WebRTC 支持 ```
## 3. 编译注意事项
### 3.1 依赖版本要求 ```plaintext 最低版本要求: - libsrtp >= 2.2.0 - openssl >= 1.1.1 - usrsctp >= 0.9.3 - nlohmann-json >= 3.9.0 ```
### 3.2 常见编译错误 ```plaintext 1. 找不到 srtp.h 解决:检查 libsrtp 安装路径
2. 找不到 usrsctp.h 解决:确认 usrsctp 安装正确
3. SSL 相关错误 解决:确保 OpenSSL 版本正确 ```
## 4. 配置 WebRTC
### 4.1 配置文件设置 ```ini [webrtc] # WebRTC 服务器配置 enabled=1 # 端口配置 port=8000 # STUN 服务器 stun_server=stun:stun.l.google :19302 # 启用 DTLS enable_dtls=1 ```
### 4.2 证书配置 ```bash # 生成证书 openssl req -x509 -newkey rsa:2048 -keyout key.pem -out cert.pem -days 365 -nodes
# 配置文件中指定证书路径 [webrtc] cert_file=cert.pem key_file=key.pem ```
## 5. 验证 WebRTC 功能
### 5.1 测试页面 ```html <!DOCTYPE html> <html> <head> <title>WebRTC Test</title> </head> <body> <video id="video" autoplay playsinline></video> <script> // WebRTC 连接代码 const pc = new RTCPeerConnection(); // ... 连接逻辑 </script> </body> </html>
ZLMediaKitWindows编译指南由讯客互联开源代码栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“ZLMediaKitWindows编译指南”