作者: 中科图新技术团队 标签: #视频监控 #流媒体 #HLS #安防工程 #三维GIS 阅读时间: 6分钟
开篇:动手前,先搞清你要接的是什么
想在自己项目里看摄像头画面,或者把监控"放"到地图、三维场景上,通常会被四个词绕晕:HLS、FLV、MP4、萤石云。
它们经常被当成一回事,实际根本不是一类东西——HLS 和 FLV 是直播流,MP4 是文件,萤石云是云平台。选错了,轻则延迟高、画面卡,重则接了半天根本播不出来。这篇把四种方式拆开讲透,文末附一张选型对照表,可以直接对号入座。
一、HLS(m3u8):为"弱网"而生的直播流
HLS(HTTP Live Streaming)由苹果提出,核心思路是切分:把连续的视频切成 2~6 秒的小分片(通常为 .ts),再用一个 m3u8 索引文件把这些分片按顺序串起来。播放器像翻书一样,一段段请求、一段段播。
它最值钱的地方是自适应码率:同一路画面同时备好几档码率的分片,网络好时播高清,网络一抖动就自动切到低码率,画面会糊一点,但不会断流。加上 Safari 等苹果生态原生支持,很长一段时间里,移动端网页看直播基本绕不开它。
代价是延迟偏高——切片粒度决定了端到端延迟通常在 3~10 秒量级,对"马上看到画面"的诉求不友好。
适合场景:网络不稳定、需要长时间稳定观看的监控直播。
二、FLV:低延迟,网页播放的老朋友
FLV 源自 Flash 时代,如今作为容器格式活跃在低延迟直播链路里,常见形态是 HTTP-FLV。它不需要切片和索引,服务器收到数据就推给客户端,端到端延迟能做到 1~3 秒量级;配合 flv.js(基于浏览器 MSE 能力)可以在网页里无插件播放,部署简单,上手快。
两个坑要提前知道:一是标准 FLV 没有自适应码率,网络抖动时更容易卡顿、花屏,弱网表现不如 HLS;二是 Safari 对 MSE 的支持有限,在苹果设备网页端播放 FLV 会受限,一般要降级走 HLS。
适合场景:对实时性要求高、想"马上看到画面"的现场查看,比如应急指挥、工地远程巡检。
三、MP4:录像回放与归档的通用格式
MP4 是当前通用度很高的视频文件格式,几乎所有播放器、剪辑软件都能打开。它不是直播流——是"录下来之后存起来再看"的形式,天然适合历史回放、复盘分析、证据归档。
一个小知识点:MP4 的索引信息(moov box)如果在文件末尾,边下载边播放会很卡。正规的流式场景会要求把 moov 挪到文件头。但对监控回放来说,文件在本地,这个坑基本不存在,随便拖拽进度条都能播。
适合场景:历史录像回放、事后复盘、存档取证。
四、萤石云:它是平台,不是格式
萤石云是海康旗下的云平台(常见于民用及小型商用安防)。它把"设备→云端→客户端"整条链路打包好了:摄像头接入萤石云后,你在控制台拿到授权后的播放 URL(通常带有效期),就能免自建拉流服务直接看画面,开箱即用,顺带提供云存储、告警通知这类增值能力。
代价是链路经过公网云端,延迟一般有几秒,且画面数据经过第三方平台,对数据敏感度高的场景要掂量一下合规和保密要求。
适合场景:手头已经有萤石云(或同类云平台)摄像头的用户,接入成本很低。
五、选型对照表:四个场景直接对号入座
| 你的需求 | 优先选 | 一句话理由 |
|---|---|---|
| 直播看现场,延迟越低越好 | FLV | 1~3 秒级延迟,浏览器直接播 |
| 网络差,但要长期稳定看直播 | HLS | 自适应码率,网络抖了也不断流 |
| 历史回放、复盘、归档 | MP4 | 通用文件格式,任何播放器都能开 |
| 手里已经有萤石云设备 | 萤石云 | 免自建拉流,授权即看 |
| 既看直播又要回放 | HLS + MP4 组合 | 直播走 HLS,回放走录像文件 |
六、本质:把"现场画面"变成"可调用的数据"
视频接入的本质,是把"现场画面"变成"可调用的数据"。整条链路可以简化成这样:

格式只是这条链路的其中一环。接进来之后,还有两件事绕不开:一是把视频源放到对的位置——在地图上挂接点位、绑定设备信息,让"这个画面属于哪个位置"清晰可查;二是让人随时点开就能看——统一的播放入口和切换体验,而不是每次翻协议、拼地址。
本文只解决"格式怎么选"这一环。视频源接入三维平台的具体实现细节,涉及点位挂接与播放交互,属于另一篇文章的话题,后续再展开。
🔧 工具推荐: 视频源接入三维场景可参考图新说监控接入方案,可在三维底图上挂接点位并实时播放,详见产品文档。
中科图新 | 让每一寸空间都有数字灵魂
参考来源: - RFC 8216: HTTP Live Streaming 规范 - Apple Developer: HTTP Live Streaming - 萤石开放平台文档