Windows 编译 ZLMediaKit:3 条命令出 MediaServer,附 3 个高频坑位 Windows 编译 ZLMediaKit3 条命令出 MediaServer附 3 个高频坑位【免费下载链接】ZLMediaKitWebRTC/RTSP/RTMP/HTTP/HLS/HTTP-FLV/WebSocket-FLV/HTTP-TS/HTTP-fMP4/WebSocket-TS/WebSocket-fMP4/GB28181/SRT/STUN/TURN server and client framework based on C11项目地址: https://gitcode.com/GitHub_Trending/zl/ZLMediaKitWindows 上第一次编译 ZLMediaKit基于 C11 的高性能流媒体服务框架最容易卡住的往往不是 CMake 那一行命令而是子模块没拉全、产物不在你以为的目录、编译完却不知道从哪个端口收流。这篇文章不追求覆盖所有平台只带你走最短路径在 Windows 上编译出一个能收流的 MediaServer并用第一路推流验证它真的跑起来了。读完你手里会有一个可直接运行的服务器外加一套遇到报错时的排查顺序。先定目标MediaServer 跑通后要验收的东西别一上来就闷头敲命令先把跑通的标准定清楚做完每一步才有据可查产物存在release/windows/Release/MediaServer.exe不在 build 目录后面会再强调一次进程能起启动后日志里能看到它在 80HTTP、1935RTMP、554RTSP这些端口上监听能收流用 ffmpeg 推一路 RTMP之后能通过 HTTP-FLV 或管理 API 查到这路流。满足这三条才算真正编译并部署成功而不是仅仅生成了一个 exe。环境准备装 VS 加 CMake子模块才是隐形坑工具层面只要两样Visual Studio 2019 或更新版本勾选使用 C 的开发工作负载以及 CMake 3.10 以上并确保已加入 PATH。ZLToolKit、jsoncpp、media-server 这些第三方依赖已经放在 3rdpart/ 目录里不用你单独去装。⚠️ 但这里藏着一个最容易翻车的点这些依赖是以 git 子模块形式提供的普通git clone之后3rdpart/ 下面大概率是空的。目录空着配置阶段就会找不到 ZLToolKit 的头文件直接报错。clone 完先补这一句再进入编译git clone https://gitcode.com/GitHub_Trending/zl/ZLMediaKit cd ZLMediaKit git submodule update --init --recursive做完你会看到3rdpart/ZLToolKit/等目录里有了真实源码不再是空文件夹。三条命令出结果配置、生成、构建源码就绪后配置和构建可以压成两步。先配置让 CMake 生成解决方案再构建出 Release 产物cmake -S . -B build -G Visual Studio 16 2019 -A x64 cmake --build build --config Release说明两点。一是-G Visual Studio 16 2019里的 16 对应 VS2019你如果装的是 2022就改成Visual Studio 17 2022-A x64表示 64 位。二是产物输出到release/windows/Release/而不是常规的build/下——找不到 exe 时先来这里翻一遍。构建完成后build/下会出现.slnrelease/windows/Release/下会出现MediaServer.exe。编译报错别慌按顺序查这 3 个地方真报错了也别急着重头再来按这个顺序排查九成的问题能定位子模块还是空的——报错表现为找不到ZLToolKit相关头文件。回到上一节重跑一次git submodule update --init --recursive即可。生成器对不上——CMake 提示could not find the specified generator基本是 VS 版本号和-G参数不匹配或没装 C 工作负载换成实际安装的版本即可。产物目录找错——编译其实是成功的只是你一直在build/里找 exe。产物固定在release/windows/Release/。⚠️ 另外别在编译中途乱改BUILD_SHARED_LIBS、ENABLE_*这些开关后只重跑一次--build改了 CMake 选项要重新执行配置那一步否则不会生效。收第一路流确认服务器真的活了编译通过就等于能用了吗还差最后一步——用真实数据验证。启动MediaServer.exe配置默认从 conf/ 的模板生成HTTP 走 80、RTMP 走 1935。用 ffmpeg 推一路ffmpeg -re -i your.mp4 -c copy -f flv rtmp://127.0.0.1:1935/live/test推上去之后用浏览器打开http://127.0.0.1/index/api/getMediaList能看到live/test或者直接用播放器打开http://127.0.0.1/index/live/test.flv看到画面就说明整条链路通了。 到这一步你已经在 Windows 上拥有了一个能收流、能转发的流媒体服务器。三句话记住这套流程子模块没拉全编译一定挂clone 后先跑git submodule update --init --recursive。产物在release/windows/Release/MediaServer.exe不在 build 里找不到就先来这里找。验收看收流推一路 RTMP能通过 HTTP-FLV 或 API 查到流服务器才算真跑通。【免费下载链接】ZLMediaKitWebRTC/RTSP/RTMP/HTTP/HLS/HTTP-FLV/WebSocket-FLV/HTTP-TS/HTTP-fMP4/WebSocket-TS/WebSocket-fMP4/GB28181/SRT/STUN/TURN server and client framework based on C11项目地址: https://gitcode.com/GitHub_Trending/zl/ZLMediaKit创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

最新新闻

应届生架构实践指南:从模块化单体到微服务演进的踩坑总结

应届生架构实践指南:从模块化单体到微服务演进的踩坑总结

2024年夏天,我拎着行李从学校宿舍直接搬进公司附近的出租屋,第二天就到岗报到。那时候我对“架构”的全部认知很可怜,基本停留在面试八股和几场博客阅读上:单体和微服务的区别、CAP定理、高并发三高、缓存和消息队列,说…

2026/9/9 17:07:06
电子礼簿实操指南:从手写账本到数字化礼金管理

电子礼簿实操指南:从手写账本到数字化礼金管理

去年年底家里办了一场婚礼,办完酒席后的那个晚上,全家人围着几本手写礼簿,一笔一笔往Excel里补录,录到凌晨两点还差了十几笔对不上账。有人把“礼金600”记成了“600礼金”,有人名字写错了,还有人只写了个姓…

2026/9/9 17:07:06
yuzu Switch模拟器入门:安装步骤、常用设置与故障排查

yuzu Switch模拟器入门:安装步骤、常用设置与故障排查

yuzu Switch模拟器入门:安装步骤、常用设置与故障排查 【免费下载链接】yuzu 任天堂 Switch 模拟器 项目地址: https://gitcode.com/GitHub_Trending/yu/yuzu 想在电脑上玩Switch游戏,又不想再买一台掌机?yuzu Switch模拟器是一个常见…

2026/9/9 17:07:06
CADLIB二次开发实战:核心机制、关键代码与避坑经验

CADLIB二次开发实战:核心机制、关键代码与避坑经验

简介:这是一份面向VC程序员的CADLIB二次开发示例工程,聚焦DXF文件的读取、解析与编辑。资源包含完整项目源码,利用CADLIB库的DxfReader、DxfWriter及实体类,演示了从加载DXF、操作图层与实体到写回文件的全流程。压缩包共106个文件…

2026/9/9 17:07:06
原网格上的POD/DMD分析:绕过插值,直接提取三维流场模态

原网格上的POD/DMD分析:绕过插值,直接提取三维流场模态

如果你经常做三维非结构网格的CFD瞬态计算,应该遇到过这个痛点:算完一个绕流算例,想用POD(本征正交分解)或者DMD(动态模态分解)提取主要流动结构,结果大多数现成工具都要求你把数据先…

2026/9/9 17:07:06
InsightFace 本地人脸检测与身份比对:从 5 分钟 Demo 到调优与自建服务的完整路径

InsightFace 本地人脸检测与身份比对:从 5 分钟 Demo 到调优与自建服务的完整路径

InsightFace 本地人脸检测与身份比对:从 5 分钟 Demo 到调优与自建服务的完整路径 【免费下载链接】insightface State-of-the-art 2D and 3D Face Analysis Project 项目地址: https://gitcode.com/GitHub_Trending/in/insightface InsightFace 是开源的 2D…

2026/9/9 17:02:06