流媒体服务器选型,不能只看“支不支持推流”,真正要看的是:业务是直播还是点播,延迟要求是多少,输入源来自哪里,播放端是什么,是否需要录制、转码、鉴权、集群和 CDN 分发。

一句话结论:

场景

推荐方案

普通直播、RTMP 推流、HLS/HTTP-FLV/WebRTC 播放

SRS

安防摄像头、RTSP、GB28181、多协议转换

ZLMediaKit

轻量级 RTSP/RTMP/SRT/WebRTC 代理、内网转发

MediaMTX

低延迟互动直播、WebRTC 播放

OvenMediaEngine / Ant Media Server

大规模公网直播

自建源站 + CDN,或直接用云厂商直播服务

老项目简单 RTMP + HLS

Nginx-RTMP 可用,但新项目不建议优先选

一、先明确业务类型

流媒体业务大致可以分成几类:

  1. 普通直播
    比如课程直播、活动直播、企业直播。一般使用 RTMP 推流,HLS、HTTP-FLV 或 WebRTC 播放。

  2. 低延迟直播
    比如连麦、远程控制、在线互动、拍卖、赛事互动。通常需要 WebRTC、LL-HLS、SRT 等协议。

  3. 安防监控
    比如摄像头、NVR、国标平台。常见协议是 RTSP、GB28181、RTP、PS、H.264、H.265。

  4. 点播系统
    比如视频课程、短视频、回放。重点不是实时推流,而是文件存储、转码、切片、CDN 分发。

  5. 内网视频转发
    比如把摄像头 RTSP 转成 WebRTC/HLS 给网页播放,重点是轻量、稳定、好部署。

二、核心选型指标

指标

说明

输入协议

RTMP、RTSP、SRT、WebRTC、GB28181、文件、摄像头

输出协议

HLS、HTTP-FLV、WebRTC、RTMP、RTSP、DASH

延迟要求

HLS 通常秒级到十几秒;HTTP-FLV 较低;WebRTC 可做到亚秒级

转码能力

是否需要分辨率转换、码率转换、H.265 转 H.264

录制能力

是否要自动录制、按时间切片、生成 MP4/HLS 回放

集群能力

是否支持源站、边缘节点、负载均衡、横向扩容

运维复杂度

配置、日志、监控、API、Docker/K8S 部署

成本

开源免费、商业授权、云服务费用、带宽费用

播放端兼容性

Web、Android、iOS、小程序、PC 客户端、硬件设备

三、主流流媒体服务器对比

方案

主要定位

优点

不足

适合场景

SRS

互联网直播、实时流媒体网关

上手简单,支持 RTMP、WebRTC、HLS、HTTP-FLV、SRT、GB28181 等,直播场景成熟

深度安防场景不如 ZLMediaKit 灵活

普通直播、WebRTC 直播、RTMP 转 HLS/FLV/WebRTC

ZLMediaKit

多协议流媒体框架

C++ 实现,协议支持非常丰富,RTSP/RTMP/HLS/HTTP-FLV/WebRTC/GB28181 都覆盖

配置和二次开发理解成本略高

安防、摄像头接入、国标平台、多协议转换

MediaMTX

轻量媒体路由器

单文件、零依赖、部署简单,支持 RTSP、RTMP、SRT、WebRTC、HLS 等

大规模业务能力、复杂直播平台能力有限

内网转发、摄像头代理、小型项目

OvenMediaEngine

低延迟直播服务器

WebRTC/LL-HLS 低延迟能力突出

生态和国内资料相对少一些

低延迟直播、网页实时观看

Ant Media Server

商业化实时流媒体平台

WebRTC、LL-HLS、集群、SDK、管理能力较完整

企业能力更多依赖商业版

企业级低延迟直播、互动直播

Nginx-RTMP

传统 RTMP/HLS

简单、资料多、和 Nginx 结合方便

协议老,WebRTC、SRT、低延迟能力弱

老系统维护、简单 RTMP/HLS

SRS 官方定位是高效实时视频服务器,支持 RTMP、WebRTC、HLS、HTTP-FLV、SRT、MPEG-DASH、GB28181 等协议,比较适合互联网直播和 WebRTC 网关场景。SRS 官方文档

ZLMediaKit 官方文档强调多协议支持,包括 RTSP、RTMP、HLS、HTTP-FLV、WebRTC、GB28181 等,因此它在安防、摄像头、协议转换场景里非常常见。ZLMediaKit 官方文档

MediaMTX 更像一个轻量媒体路由器,可以发布、读取、代理、录制和回放实时音视频流,并支持 RTSP、RTMP、SRT、WebRTC、HLS 等协议。MediaMTX 官方文档

OvenMediaEngine 主打亚秒级低延迟直播,支持 WebRTC、SRT、RTMP、MPEG-2 TS、RTSP 输入,并通过 WebRTC、LL-HLS 输出。OvenMediaEngine 官方文档

Ant Media Server 则更偏商业化实时流媒体平台,支持 WebRTC、LL-HLS、HLS、RTMP、RTSP、SRT,并提供集群、SDK 等能力。Ant Media 官方文档

四、推荐架构

普通直播推荐架构:

flowchart TD
    A[主播端 OBS/App] --> B[RTMP/SRT 推流]
    B --> C[流媒体源站]
    C --> D[转封装/转码/录制]
    D --> E[CDN 分发]
    E --> F[Web/Android/iOS 播放]

安防监控推荐架构:

flowchart TD
    A[摄像头/NVR] --> B[RTSP/GB28181]
    B --> C[ZLMediaKit 或 MediaMTX]
    C --> D[协议转换]
    D --> E[WebRTC/HLS/FLV 播放]

低延迟直播推荐架构:

flowchart TD
    A[推流端] --> B[WebRTC/SRT/RTMP]
    B --> C[低延迟流媒体服务器]
    C --> D[WebRTC/LL-HLS]
    D --> E[浏览器/移动端]

五、按场景给出选型建议

  1. 如果是普通直播平台
    优先选 SRS。
    原因是直播链路完整,RTMP 推流、HLS 播放、HTTP-FLV 播放、WebRTC 播放都能覆盖,部署和资料也比较友好。

  2. 如果是摄像头、安防、国标 GB28181
    优先选 ZLMediaKit。
    原因是它对 RTSP、RTP、GB28181、多协议转换支持更强,适合做视频监控平台、摄像头网页预览、NVR 接入。

  3. 如果只是想把 RTSP 摄像头转成网页可播放
    优先选 MediaMTX。
    原因是轻量,部署简单,很适合小项目、边缘设备、内网视频代理。

  4. 如果要求 1 秒以内低延迟
    优先看 OvenMediaEngine、Ant Media Server、SRS WebRTC。
    如果是开源自建,可以先试 SRS 或 OvenMediaEngine;如果要企业级 SDK、集群、管理后台和商业支持,可以看 Ant Media Server。

  5. 如果是大规模公网直播
    不建议只靠单台自建服务器。
    更合理的方式是:自建 SRS/ZLMediaKit 作为源站,然后接 CDN;或者直接使用阿里云、腾讯云、火山云、AWS 等云直播服务。

六、容易踩坑的地方

  1. HLS 兼容性好,但延迟不低。
    如果业务要求实时互动,不要只靠传统 HLS。

  2. WebRTC 延迟低,但服务器压力和网络复杂度更高。
    尤其是多人观看时,需要关注 CPU、带宽、NAT、TURN、码率控制。

  3. 转码很吃资源。
    如果只是协议转换,成本还好;如果要 1080p 转 720p、H.265 转 H.264、多码率输出,就要认真评估 CPU/GPU。

  4. 带宽成本通常比服务器成本更高。
    直播平台真正贵的不是机器,而是上行、下行、CDN、回放存储。

  5. 浏览器播放不等于协议支持。
    浏览器不能直接播放 RTSP,通常要转成 HLS、HTTP-FLV、WebRTC 或 fMP4。

七、最终推荐

如果没有特殊背景,可以这样选:

你的需求

推荐

做一个通用直播系统

SRS

做摄像头/安防/GB28181 平台

ZLMediaKit

做轻量 RTSP 转 WebRTC/HLS

MediaMTX

做低延迟互动直播

SRS WebRTC / OvenMediaEngine / Ant Media

做企业级低延迟平台

Ant Media Server

做大规模商业直播

云直播/CDN + 自建源站

维护老 RTMP 系统

Nginx-RTMP 可以继续用,但不建议新项目首选

我的建议是:如果你是从零开始做项目,普通直播先选 SRS;安防监控先选 ZLMediaKit;小型 RTSP 转发先选 MediaMTX。这样选不会太激进,后续扩展空间也比较稳。