十年匠心定制 · 商业建站与技术教学双线并行 咨询热线:400-886-1026 service@lmnt.cn
ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

Windows 编译 ZLMediaKit:3 条命令出 MediaServer,附 3 个高频坑位

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),仅供参考
返回列表