ZLMediaKit流媒体服务 使用开源 ZLMediaKit部署流媒体服务1使用 ZLMediaKit‑Pro 闭源版本原生 JT1078推荐 ruoyi‑qs‑nvr 配套2使用原版 ZLMediaKit 独立 JT1078 网关RTVS/jtt1078‑video‑serverJava 开源网关做 RTP 头剥离名词 类型 作用 端口 浏览器原生播放FFmpeg 工具 / 库 音视频编解码、推拉流、转码 无 —RTMP 网络直播协议 TCP 直播推拉流 1935 ❌不支持RTSP 网络监控协议 摄像头 IPC 主流协议 554 ❌不支持HLS(m3u8) 基于 HTTP 分片协议 网页直播回放 80/443 ✅支持延迟高 5‑15sWebRTC 低延迟网页协议 毫秒级网页实时播放 UDP ✅支持JT/T 1078 转 GB/T 28181 视频流JT1078信令 JT/T808二进制媒体RTPESH264/H265 裸帧无 PS 封装常用 TCP 传输车载 4G 无线场景。GB28181‑2016信令 SIP媒体RTP MPEG‑2‑PS 复用流UDP 为主国标平台只认 PS 封装 RTP 流。转换需要做两件事信令转换网关JT808 ↔ SIP 媒体转换JT1078‑RTP‑ES → PS‑RTP不必须转码只做封装复用编码不变 H264/H265 直接透传。FFmpegFFmpeg 是一套开源音视频处理工具集程序 库C 语言写的跨平台 (Linux/Windows/Mac)。包含可执行程序 ffmpeg、ffplay、ffprobe同时提供动态库 libavformat、libavcodec、libavutil 等可以被 Java/Python/C 程序调用做音视频。ffmpeg主程序能干什么转码h264/h265mp4、flv、mkv 互相转换推流把本地文件、摄像头、RTSP 摄像头推送出去RTMP/RTSP/HLS拉流拉取网络流保存文件、转码、转发切片生成 HLS (m3u8ts 分片)截图、水印、剪辑、混音你做车载 JT/T1078、ZLMediaKit 流媒体就会高频用到 ffmpeg。RTMPRTMPReal‑Time Messaging Protocol实时消息传输协议Adobe 开源的流媒体网络协议传输层TCP可靠传输延迟一般 1‑3 秒适合直播默认端口1935封装格式一般用 flv 封装 h264aacRTMP 两个方向RTMP 推流编码器ffmpeg / 摄像头→ 流媒体服务器 (ZLMediaKit/Nginx‑rtmp)地址示例rtmp://127.0.0.1/live/stream001RTMP 拉流播放器 ← 流媒体服务器读取上面这个地址播放现代浏览器原生不支持 RTMP 播放浏览器不能直接打开 rtmp:// 地址所以服务端经常把 RTMP 转成 HLS (m3u8) / WebRTC 给网页播放。FMP4服务是什么FMP4 Fragmented MP4分片MP4它不是独立软件是一种流媒体封装格式所谓“fmp4服务”指流媒体服务ZLMediaKit/RTVS把原始H264/H265裸流封装成分片MP4对外输出直播流浏览器前端通过MSE播放。vs808项目车载终端JT/T1078上传H265裸流 → RTVS/ZLMediaKit接收封装成WebSocket‑FMP4流网页前端播放车辆实时监控视频就是你nginx配置里/rtvs/背后的流。普通MP4 vs FMP4核心区别普通MP4元数据moov放在文件头部/尾部必须拿到完整头部才能播放适合本地文件不适合直播。FMP4分片MP4结构moov(初始化信息) (moof分片头 mdat音视频数据) * N每一小段视频是独立分片收到第一个分片就可以播放不需要完整文件支持H265(HEVC)编码车载监控大量使用H265FMP4对H265支持很好FLV对H265兼容性差。两种常见访问方式HTTP‑FMP4http请求拉取分片WebSocket‑FMP4ws长连接持续推送二进制fmp4分片前端jsMSE接口喂给video标签播放延迟低适合车载实时监控。示例URLZLMediaKit/RTVSws://ip:30888/live/xxx.live.mp4和其它流媒体格式对比车载web监控场景格式典型协议H265支持浏览器延迟备注WebSocket‑FLVws://xxx.live.flv差全部现代浏览器50‑200ms老方案H265坑多WebSocket‑FMP4ws://xxx.live.mp4✅优秀现代浏览器200‑400ms你的RTVS在用HLS‑TSm3u8不支持H265原生支持2‑10秒延迟太高不适合车载实时预览HLS‑FMP4m3u8(fmp4分片)✅支持H265原生支持1‑3秒低延迟HLS关键点浏览器原生video标签不能直接播放fmp4二进制流必须JS MSE解码所以前端需要专门播放器wsPlayer/PyMKUI不能直接把ws地址丢给video标签。nginx配置中的位置(本项目location /rtvs/ { proxy_pass http://127.0.0.1:30888/; proxy_buffering off; proxy_read_timeout 3600s; chunked_transfer_encoding on; }30888就是RTVS流媒体服务端口/rtvs/代理转发对外提供fmp4流http‑fmp4、ws‑fmp4chunked_transfer_encoding onfmp4直播流必须开启分块http传输不能返回content‑length否则播放失败。vs808业务链路完整流程车载MDVR终端 → JT/T1078协议上传H265裸视频流 → vs808‑server(java后端)vs808把流推送给RTVS/ZLMediaKit流媒体服务RTVS封装成FMP4分片对外提供WebSocket‑FMP4流网页前端播放器请求ws://808.sinocesit.cn/rtvs/live/xxx.live.mp4nginx代理ws连接把二进制fmp4分片透传给浏览器前端MSE解码播放画面。常见踩坑nginx代理ws‑fmp4忘记chunked_transfer_encoding on流播放卡住、黑屏老旧浏览器不支持MSE无法播放fmp4H265编码下FLV会花屏/无画面所以车载平台优先选用FMP4fmp4分片需要I帧关键帧作为分片起点终端不上报I帧会出现一直黑屏。区分概念fmp4封装格式数据包长什么样WebSocket‑FMP4传输方式走ws协议传输fmp4二进制RTVS/ZLMediaKit提供fmp4输出的流媒体服务软件。

相关新闻

最新新闻

Nginx-Lua IDE

Nginx-Lua IDE

一、引言:为什么Nginx-Lua开发离不开专业IDE用记事本或纯文本编辑器写OpenResty代码,就像蒙着眼睛走钢丝。Nginx-Lua开发面临三大独特挑战:API隐式注入:ngx.*、ndk.*等全局对象并非Lua标准库,普通编辑器无法识别&#…

2026/8/21 9:32:44
SVM支持向量机原理与Python实战:从线性分类到核函数应用

SVM支持向量机原理与Python实战:从线性分类到核函数应用

1. 从“分界线”到“最大间隔”:SVM的直觉理解如果你刚开始接触机器学习分类算法,可能会觉得支持向量机(SVM)这个名字听起来有点唬人,什么“向量机”、“支持向量”,感觉很高深。我第一次接触时也有同感&am…

2026/8/21 9:32:43
开源推荐算法权重与训练代码解析:从黑盒到透明决策

开源推荐算法权重与训练代码解析:从黑盒到透明决策

如果你正在开发一个推荐系统,或者对“黑盒”算法如何决定你看到的内容感到好奇,那么今天这个开源项目值得你花十分钟了解一下。 过去几年,推荐算法几乎成了所有内容平台、电商网站和社交应用的核心引擎。但一个普遍的问题是:这些…

2026/8/21 9:32:43
多智能体竞争环境下PPO算法失效模式诊断与缓解策略

多智能体竞争环境下PPO算法失效模式诊断与缓解策略

1. 项目概述:当智能体在“领土战争”中“学坏”了最近在复现一个多智能体竞争环境下的强化学习项目,名字挺有意思,叫“Territory Paint Wars”(领土涂色战争)。简单来说,就是让一群AI智能体在一个网格世界里…

2026/8/21 9:32:43
DeepSeek Harness智能体框架:从代码补全到主动协作的开发伴侣

DeepSeek Harness智能体框架:从代码补全到主动协作的开发伴侣

如果你正在寻找一个能让 DeepSeek 大模型像“大肥鱼”一样,在你熟悉的开发环境里游刃有余、主动帮你处理各种琐碎任务的方法,那么你找对地方了。今天要聊的,不是又一个普通的代码补全插件,而是一个正在重塑开发者与 AI 协作方式的…

2026/8/21 9:32:43
Python在地球科学中的全栈应用:从数据处理到AI建模实战指南

Python在地球科学中的全栈应用:从数据处理到AI建模实战指南

1. 从“小工具”到“主力军”:Python如何重塑地球科学工作流大概十年前,我还在用Fortran和IDL处理卫星遥感数据,用MATLAB做数值模拟,再用ArcGIS出图。整个流程下来,脚本、数据、中间文件散落各处,想复现一个…

2026/8/21 9:27:43