找回密码
立即注册
搜索
热搜: Java Python Linux Go
发回帖 发新帖

2117

积分

1

好友

287

主题
发表于 2025-12-31 09:50:38 | 查看: 22| 回复: 0

经过大量测试,网页显示视频流的实时性从高到低依次为:WebRTC > WS-FLV > FLV > HLS。播放器打开RTSP/RTMP视频流的实时性则由具体的播放器控制,例如缓存大小、缓存时间以及是否音视频同步等。

由于FLV拉流在同源地址下最多支持6路同时播放,因此,若希望实时性高且网页播放支持多路,WS-FLV是理想选择;而HLS的实时性最差。

此外,mediamtx推出的HLS/WebRTC流可以直接将地址复制到浏览器打开,无需依赖额外的JS播放器。

在Windows系统上,554端口可能被系统服务占用,建议将其修改为其他端口,例如5541。

mediamtx

同时支持RTSP/RTMP推拉流,拉流还支持HLS/WebRTC两种方式,其最近的V1.0版本还新增了SRT方式支持。它推出的HLS/WebRTC流可以直接嵌入iframe网页播放(通过查阅代码可知,流媒体服务器内部会返回一段支持HLS/WebRTC播放的网页代码),没有任何外部依赖。如果希望直接在网页中无依赖播放,强烈推荐使用mediamtx。

推荐指数:★★★★★

开源地址: https://github.com/bluenviron/mediamtx

类型 端口 格式
rtsp 8554 rtsp://127.0.0.1:8554/live/stream
rtmp 1935 rtmp://127.0.0.1:1935/live/stream
hls 8888 http://127.0.0.1:8888/live/stream
webrtc 8889 http://127.0.0.1:8889/live/stream

MediaMtx监控后台界面
图1:MediaMtx V1.0.0监控后台,支持RTP、HTTP、HLS等多种协议

LiveQing

仅支持RTMP推流,但支持RTMP/HLS/FLV/WS-FLV/WebRTC等多种格式拉流。它提供了一个网页后台管理界面,使用非常方便。其缺点是仅有一个月试用期,过期后需前往官网重新下载,过期验证机制被写死在程序中。如果你需要一个网页管理后台,可以推荐这个方案。

推荐指数:★★★★

官方地址: https://www.liveqing.com/

类型 端口 格式
rtmp 10085 rtmp://127.0.0.1:10085/hls/stream
hls 18000 http://127.0.0.1:18000/hls/stream/stream_live.m3u8
flv 18000 http://127.0.0.1:18000/flv/hls/stream.flv
ws-flv 18000 ws://127.0.0.1:18000/ws-flv/hls/stream.flv
webrtc 18000 webrtc://127.0.0.1:18000/rtc/hls/stream

LiveQing视频监控画面
图2:LiveQing播放监控视频流(示例:幼儿园门口)

LiveQing视频播放界面
图3:LiveQing的视频播放界面,带有控制按钮

LiveQing推流配置界面
图4:LiveQing后台的直播流与推流地址配置界面

EasyDarwin

仅支持RTSP推拉流,默认端口为5541,不支持其他格式拉流。如果仅用于监控摄像头场景,它非常方便,且提供了一个网页管理后台,无过期限制可长期使用。其缺点是功能单一,只能在其后台查看视频流,或使用播放器播放。

推荐指数:★★

官网地址: https://www.easydarwin.org/

nginx-rtmp

仅支持RTMP推拉流,默认端口1935,不支持其他格式拉流,功能极其单一,不推荐使用。如果你对 Nginx 的流媒体扩展模块感兴趣,可以了解其他更全面的方案。

ZLMediaKit

同时支持RTSP/RTMP推拉流,并且支持H.265的推拉流(要求推流端使用支持H.265的ffmpeg,拉流播放端也需支持H.265的播放器)。它支持多种格式拉流,拥有庞大的用户群体。

推荐指数:★★★★★

开源地址: https://github.com/ZLMediaKit/ZLMediaKit/

类型 端口 格式
rtsp 554 rtmp://127.0.0.1:554/live/stream
rtmp 1935 rtmp://127.0.0.1:1935/live/stream
hls 80 http://127.0.0.1:80/live/stream/hls.m3u8
flv 80 http://127.0.0.1:80/live/stream.live.flv
ws-flv 80 ws://127.0.0.1:80/live/stream/live.flv

ZLMediaKit监控界面
图5:ZLMediaKit运行时的监控视频界面与日志信息

srs

支持RTMP推流(早期版本支持RTSP推流,但后续版本中已移除)。它支持部分格式拉流,但不支持WS-FLV拉流,同样拥有众多使用者。

推荐指数:★★★★

开源地址: https://github.com/ossrs/srs

类型 端口 格式
rtmp 1935 rtmp://127.0.0.1:1935/live/stream
hls 8080 http://127.0.0.1:8080/live/stream.m3u8
flv 8080 http://127.0.0.1:8080/live/stream.flv
webrtc 8080 webrtc://127.0.0.1:8080/live/stream

srs服务器运行界面
图6:srs服务器界面,左侧为访问日志,右侧为视频监控

ABLMediaServer

同时支持RTSP/RTMP推拉流,也支持H.265推拉流。它由国内一位音视频服务器领域的大神编写,目前没有官网和主页。其最大优点是CPU占用率极低,经过了特殊优化(以部分内存为代价)。在同等推流环境下,25路视频仅占用约0.3%的CPU,而ZLMediaKit和srs则在3%左右,但后两者的内存占用极低。对CPU占用敏感的用户建议选择ABLMediaServer。

推荐指数:★★★★

类型 端口 格式
rtsp 554 rtmp://127.0.0.1:554/live/stream
rtmp 1935 rtmp://127.0.0.1:1935/live/stream
hls 9088 http://127.0.0.1:9088/live/stream.m3u8
flv 8088 http://127.0.0.1:8088/live/stream.flv
ws-flv 6088 ws://127.0.0.1:6088/live/stream.flv

ABLMediaServer运行日志
图7:ABLMediaServer运行时控制台日志,显示端口绑定与网络连接状态

其他资源

  1. 国内开源地址: https://gitee.com/feiyangqingyun
  2. 国际开源地址: https://github.com/feiyangqingyun

选择合适的流媒体服务器是构建稳定视频服务的关键,不同的协议支持、性能表现和功能特性决定了其适用场景。希望这份对比能帮助你做出更明智的技术选型。如果你对 流媒体协议 或服务器部署有更多疑问,欢迎在 云栈社区 与更多开发者交流探讨。




上一篇:大厂裁员潮中的职场生存法则:哪3类人能留下,哪2类人最危险?
下一篇:Qt/C++属性设计器动态加载控件属性与Q_PROPERTY解析
您需要登录后才可以回帖 登录 | 立即注册

手机版|小黑屋|网站地图|云栈社区 ( 苏ICP备2022046150号-2 )

GMT+8, 2026-1-10 08:53 , Processed in 0.321079 second(s), 40 queries , Gzip On.

Powered by Discuz! X3.5

© 2025-2025 云栈社区.

快速回复 返回顶部 返回列表