新闻详情

新闻详情

首页 / 资讯中心 / 详情

快速测试-ZLMediaKit

发布时间:2026/9/30 15:22:45来源:尧图网络
快速测试-ZLMediaKit
更新已优化至https://github.com/zhuyifeiRuichuang/ZLMediaKit此仓库内置了更完善的GitHub action可实现自动编译打包代码自动构建容器镜像自动部署测试提供了docker compose和k8s环境标准部署配置可本地稳定复现部署。可随时同步上游代码更新且稳定制作新版本。支持定制开发后手动触发打包。注意此方法由workbuddyhy3专家工具“Dockerfile生成专家” 生成。项目https://github.com/ZLMediaKit/ZLMediaKit快速测试打包和部署使用docker compose环境# 拉取项目代码gitclone https://github.com/ZLMediaKit/ZLMediaKit# 进入项目目录cdZLMediaKit创建文件Dockerfile# syntaxdocker/dockerfile:1# # ZLMediaKit 生产级 Dockerfile多阶段构建# 仓库: https://github.com/zhuyifeiRuichuang/ZLMediaKit## 构建说明:# 1. 主仓库从 GitHub 拉取子模块(ZLToolKit/media-server/jsoncpp 等)# 托管在 gitee.com构建机必须可访问 gitee.com。# 2. 如需改用「本地源码」构建把 builder 阶段的 git clone 段替换为:# COPY . /src# 并确保本地已执行 git submodule update --init --recursive。# 3. 推荐开启 BuildKit: DOCKER_BUILDKIT1 docker build ...# ############################################################# 阶段一构建编译 MediaServer############################################################FROM ubuntu:22.04 AS builder# ---- 构建参数可复现 / 可覆盖----ARGZLM_GIT_URLhttps://github.com/zhuyifeiRuichuang/ZLMediaKit.git ARGZLM_BRANCHmaster ARGZLM_COMMITARGCMAKE_BUILD_TYPERelease ARGENABLE_WEBRTCON ARGENABLE_OPENSSLON ARGENABLE_MP4ON ARGENABLE_HLSON ARGENABLE_SRTON ARGENABLE_APION ARGENABLE_TESTSOFF ENVDEBIAN_FRONTENDnoninteractive# ---- 构建依赖 ----# build-essential : gcc/g/make# cmake/pkg-config: 构建系统ubuntu22.04 自带 cmake 3.22满足 3.1.3# libssl-dev : HTTPS/WSS/RTSPS/RTMPS/WebRTC 加密传输# libsrtp2-dev : WebRTC 必需的 SRTP 库项目未内置必须系统提供否则 WebRTC 被自动关闭# git : 拉取代码与子模块# ccache : 加速重复构建RUN--mounttypecache,target/var/cache/apt,sharinglocked\apt-getupdate\apt-getinstall-y--no-install-recommends\build-essential\cmake\pkg-config\git\ccache\libssl-dev\libsrtp2-dev\rm-rf/var/lib/apt/lists/*# 启用 ccache 加速配合下方 cache mountENVPATH/usr/lib/ccache:${PATH}\CCACHE_DIR/root/.ccache WORKDIR /src# ---- 拉取源码与子模块 ----# 注意: 子模块来自 gitee.com需网络可达RUNgitclone--branch${ZLM_BRANCH}--single-branch${ZLM_GIT_URL}.\if[-n${ZLM_COMMIT}];thengitcheckout-q${ZLM_COMMIT};fi\gitsubmodule update--init--recursive# ---- 配置与编译 ----# 构建产物位于 release/linux/${CMAKE_BUILD_TYPE}/已包含# MediaServer、config.ini、www/、default.pem 等运行时所需文件RUN--mounttypecache,target/root/.ccache\cmake-S.-Bbuild\-DCMAKE_BUILD_TYPE${CMAKE_BUILD_TYPE}\-DENABLE_WEBRTC${ENABLE_WEBRTC}\-DENABLE_OPENSSL${ENABLE_OPENSSL}\-DENABLE_MP4${ENABLE_MP4}\-DENABLE_HLS${ENABLE_HLS}\-DENABLE_SRT${ENABLE_SRT}\-DENABLE_API${ENABLE_API}\-DENABLE_TESTS${ENABLE_TESTS}\cmake--buildbuild--targetMediaServer -j$(nproc)############################################################# 阶段二运行最小运行时############################################################FROM debian:bookworm-slim AS runtime ENVDEBIAN_FRONTENDnoninteractive# ---- 运行时依赖 ----# libssl3 : OpenSSLHTTPS/WSS/RTSPS 等# libsrtp2-1 : WebRTC SRTP与构建期 libsrtp2-dev 版本对应# ca-certificates: 出站 HTTPS / 可选管理后台# curl : 健康检查# libcap2-bin : 为二进制赋予绑定特权端口(1024)的能力从而可「非 root」运行RUN--mounttypecache,target/var/cache/apt,sharinglocked\apt-getupdate\apt-getinstall-y--no-install-recommends\libssl3\libsrtp2-1\ca-certificates\curl\libcap2-bin\rm-rf/var/lib/apt/lists/*# 创建非 root 用户RUNgroupadd-rzlm\useradd-r-gzlm-s/usr/sbin/nologin-d/opt/zlmediakit zlm# 拷贝构建产物二进制 配置 www 默认证书COPY--frombuilder /src/release/linux/Release/ /opt/zlmediakit/ WORKDIR /opt/zlmediakit# 赋予绑定特权端口能力使非 root 也能监听 80/443/554# 随后将目录归属非 root 用户RUNchown-Rzlm:zlm /opt/zlmediakit\setcapcap_net_bind_serviceep/opt/zlmediakit/MediaServerUSERzlm# ---- 暴露默认端口 ----# TCP : HTTP(80) HTTPS(443) RTSP(554) RTMP(1935) RTC(8000) 可选(10000)# UDP : RTC 媒体(8000) 可选(10000)# 端口均可在 config.ini 中修改修改后需同步调整下方 EXPOSE 与容器端口映射EXPOSE80/tcp443/tcp554/tcp1935/tcp8000/tcp10000/tcp\8000/udp10000/udp# ---- 健康检查 ----# 探测内置 HTTP 服务是否就绪返回任意 HTTP 状态码即视为存活# 不依赖 api.secret。如修改了 HTTP 端口请同步修改此处地址。HEALTHCHECK--interval30s--timeout5s --start-period15s--retries3\CMDcurl-s-o/dev/null --max-time4http://127.0.0.1/||exit1# 前台运行可用 -c 指定配置或用卷挂载覆盖 ./config.ini# 示例: docker run ... zlmediakit:local -c /opt/zlmediakit/config.iniENTRYPOINT[./MediaServer]CMD[]创建文件docker-compose.ymlservices: zlmediakit: build: context:.dockerfile: Dockerfile args: ZLM_BRANCH: master# ZLM_COMMIT: # 如需锁定到特定 commit取消注释并填入ENABLE_WEBRTC:ONimage: zlmediakit:local container_name: zlmediakit restart: unless-stopped ports: -80:80# HTTP-443:443# HTTPS-554:554# RTSP-1935:1935# RTMP-8000:8000# WebRTC TCP-8000:8000/udp# WebRTC UDP-10000:10000# 可选业务端口-10000:10000/udp# 可选业务端口volumes:# 挂载自定义配置推荐将宿主机 config.ini 覆盖容器内配置- ./config.ini:/opt/zlmediakit/config.ini:ro# 持久化录像/截图等写目录按需注意路径需与 config.ini 中配置一致# - ./record:/opt/zlmediakit/www/recordhealthcheck: test:[CMD,curl,-fsS,-o,/dev/null,http://127.0.0.1/]interval: 30s timeout: 5s retries:3start_period: 15s部署并自动构建dockercompose up-d
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

NT1741:超低功耗高灵敏度BLE射频芯片破局微型医疗设备 2026/10/1 1:46:55

NT1741:超低功耗高灵敏度BLE射频芯片破局微型医疗设备

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
GDC2019见闻:实时渲染、云游戏与独立游戏的技术风向 2026/10/1 1:46:55

GDC2019见闻:实时渲染、云游戏与独立游戏的技术风向

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
生产级RAG系统实战:Haystack检索与LangGraph编排的上下文工程 2026/10/1 1:46:55

生产级RAG系统实战:Haystack检索与LangGraph编排的上下文工程

1. 从玩具到产线:为什么第三篇才聊上下文工程前两篇我们把 Haystack 的检索管线和 LangGraph 的状态机骨架搭起来了,能跑通一个“能回答问题”的 RAG Demo。但 Demo 和产线之间隔着一道很深的沟,这道沟的名字就叫上下文工程。我见过太多团队卡…

阅读更多 →
Spring Cloud Gateway路由配置实战与避坑指南 2026/10/1 1:46:55

Spring Cloud Gateway路由配置实战与避坑指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
李宏毅机器学习笔记:CNN与RNN原理、组合与实战排查 2026/10/1 1:46:54

李宏毅机器学习笔记:CNN与RNN原理、组合与实战排查

李宏毅机器学习笔记我陆陆续续整理到第三篇了,前两篇基本都在跟回归、梯度下降、损失函数这些“基本功”较劲,这次终于轮到两个绕不开的名字:CNN(卷积神经网络)和RNN(循环神经网络)。这两个结构…

阅读更多 →
ARM64 上跑 x86-64 Windows 程序:FEX-Emu + Wine + DXMT 兼容层实战 2026/10/1 1:46:48

ARM64 上跑 x86-64 Windows 程序:FEX-Emu + Wine + DXMT 兼容层实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉