文章目录ZLMediaKit 完整安装教程3种方案Docker极速、源码编译、二进制包一、方案1Docker一键部署推荐测试/快速上线5分钟1. 拉取镜像2. 启动容器完整端口映射覆盖RTSP/RTMP/RTP/Web管理3. 访问Web管理后台常用容器命令二、方案2Linux源码编译生产环境推荐自定义模块环境要求步骤1安装系统依赖Ubuntu / DebianCentOS 7/8 / RockyLinux步骤2拉取源码国内Gitee镜像速度快步骤3一键编译脚本最简单步骤4手动cmake编译自定义开关按需关闭无用模块步骤5复制资源文件网页、证书否则后台空白步骤6启动服务三、方案3预编译二进制包无编译环境机器使用四、核心配置文件 config.ini 关键参数适配RTSP/JT1078五、防火墙放行端口必须操作否则外部无法推流UbuntuCentOS六、RTSP推流测试验证安装成功ffmpeg RTSP推流到ZLMediaKit播放器拉流观看七、JT1078车载适配链路你业务场景八、常见编译报错解决ZLMediaKit 完整安装教程3种方案Docker极速、源码编译、二进制包适配你的JT1078车载视频场景原生支持RTSP推流/拉流、标准RTP、RTMP、GB28181。一、方案1Docker一键部署推荐测试/快速上线5分钟无需编译、自动处理依赖端口一次性映射齐全1. 拉取镜像dockerpull zlmediakit/zlmediakit:master2. 启动容器完整端口映射覆盖RTSP/RTMP/RTP/Web管理dockerrun-d\--namezlm\--restartalways\-p1935:1935\# RTMP-p8080:80\# HTTP-FLV、Web后台-p8443:443\# HTTPS-p8554:8554\# RTSP TCP-p10000:10000\# WebRTC TCP-p10000:10000/udp\# WebRTC UDP-p8000:8000/udp\# RTP UDPJT1078转标准RTP使用-p9000:9000/udp\# 国标GB28181媒体端口zlmediakit/zlmediakit:master3. 访问Web管理后台浏览器打开http://服务器IP:8080可查看在线流、录像、API调试。常用容器命令# 查看日志dockerlogs-fzlm# 停止/重启dockerstop zlmdockerrestart zlm# 进入容器修改配置dockerexec-itzlmbash二、方案2Linux源码编译生产环境推荐自定义模块环境要求GCC ≥4.8、CMake ≥3.2、OpenSSL ≥1.0.2步骤1安装系统依赖Ubuntu / Debiansudoaptupdatesudoaptinstall-ybuild-essential cmakegitlibssl-dev zlib1g-dev\libavcodec-dev libavformat-dev libavutil-dev libswscale-dev libboost-all-devCentOS 7/8 / RockyLinuxsudodnf groupinstall-yDevelopment Toolssudodnfinstall-ycmakegitopenssl-devel zlib-devel ffmpeg-devel boost-devel步骤2拉取源码国内Gitee镜像速度快# 浅克隆加速gitclone--depth1https://gitee.com/xia-chu/ZLMediaKitcdZLMediaKit# 必须初始化第三方子模块漏了编译失败gitsubmodule update--init--recursive步骤3一键编译脚本最简单# 自动cmakemake开启RTSP/RTMP/FFmpeg/WebRTC全功能./build_for_linux.sh编译完成后程序目录release/linux/Debug/MediaServer步骤4手动cmake编译自定义开关按需关闭无用模块mkdirbuildcdbuild cmake..\-DENABLE_RTSPON\-DENABLE_RTMPON\-DENABLE_FFMPEGON\-DENABLE_WEBRTCON\-DENABLE_HTTP_APIONmake-j$(nproc)步骤5复制资源文件网页、证书否则后台空白# 复制web页面cp-r../../www../release/linux/Debug/# 复制ssl证书cp../../tests/default.pem../release/linux/Debug/步骤6启动服务cdrelease/linux/Debug# 前台启动看日志./MediaServer# 后台守护进程启动nohup./MediaServerzlm.log21三、方案3预编译二进制包无编译环境机器使用下载地址GitHub/Gitee Release 自动打包解压后直接运行MediaServer自带配置、网页、启动脚本适合ARM开发板、边缘车载网关快速部署。四、核心配置文件 config.ini 关键参数适配RTSP/JT1078路径release/linux/Debug/conf/config.ini[rtsp] port8554 # RTSP监听端口 auth0 # 0关闭鉴权1开启账号密码 handshakeSecond15 tcpDelay0 # 关闭延迟车载低延迟优先 [rtp] port_range8000-9000 # 标准RTP UDP端口范围JT1078转RTP用 [http] port80 # Web管理、HTTP-FLV端口 [general] mediaRoot./www # 网页根目录 logPath./logs # 日志目录修改配置后重启MediaServer生效。五、防火墙放行端口必须操作否则外部无法推流Ubuntuufw allow1935/tcp ufw allow8080/tcp ufw allow8554/tcp ufw allow8000:9000/udp ufw reloadCentOSfirewall-cmd --add-port1935/tcp--permanentfirewall-cmd --add-port8080/tcp--permanentfirewall-cmd --add-port8554/tcp--permanentfirewall-cmd --add-port8000-9000/udp--permanentfirewall-cmd--reload六、RTSP推流测试验证安装成功ffmpeg RTSP推流到ZLMediaKitffmpeg-re-itest.h264-ccopy-rtsp_transporttcp-frtsp rtsp://127.0.0.1:8554/live/car001播放器拉流观看# ffplayffplay-rtsp_transporttcp rtsp://127.0.0.1:8554/live/car001# HTTP-FLV网页播放http://IP:8080/live/car001.flv七、JT1078车载适配链路你业务场景Java Netty接收JT1078私有UDP包剥离24字节私有头提取H264 NALU二选一输出到ZLMediaKit1封装标准RTP UDP发送到服务器8000端口ZLM自动识别2ffmpeg管道读取byte[]转RTSP/RTMP推ZLM前端通过HTTP-FLV/RTSP/WebRTC播放车辆视频。八、常见编译报错解决子模块缺失必须执行git submodule update --init --recursive不要下载zip源码OpenSSL版本过低手动编译安装 openssl-1.1.1w端口占用修改config.ini端口或kill占用进程Web后台空白忘记复制www文件夹到程序目录。