项目介绍
ZLMediaKit 是一个开源免费、高性能的运营级流媒体服务框架,基于 C++11 开发,避免了裸指针的使用,确保了代码的稳定性和可靠性,同时提供了卓越的性能。该框架支持多种流媒体协议,并支持协议之间的互转,适用于多种操作系统和指令集平台,是移动嵌入式跨平台流媒体解决方案和商用级流媒体服务器的理想选择。
应用场景
ZLMediaKit 广泛应用于以下场景:
-
-
视频监控:支持 RTSP/RTMP 等视频监控协议,适用于安防监控领域。 -
直播服务:支持 HLS/HTTP-FLV/WebSocket-FLV 等直播协议,适用于在线直播平台。
-
-
视频会议:支持 WebRTC 协议,适用于视频会议系统。 -
点播服务:支持 MP4 点播,适用于视频点播平台。 -
集群部署:支持溯源模式的集群部署,适用于大规模流媒体服务。
功能模块
功能模块一览:

协议支持
-
RTSP: -
服务器:支持 RTMP/MP4/HLS 转 RTSP[S],支持亚马逊 Echo Show 等设备。 -
播放器:支持 RTSP 代理,支持生成静音音频。 -
推流客户端与服务器:支持 RTP over UDP/TCP/HTTP/组播四种传输方式。 -
鉴权:服务器/客户端完整支持 Basic/Digest 方式的登录鉴权。
-
-
RTMP: -
播放服务器:支持 RTSP/MP4/HLS 转 RTMP。 -
发布服务器:支持录制发布流。 -
播放器:支持 RTMP 代理,支持生成静音音频。 -
推流客户端:支持 enhanced-rtmp(H265/VP8/VP9/AV1/OPUS)。
-
-
HLS: -
支持 HLS 文件(mpegts/fmp4)生成,自带 HTTP 文件服务器。 -
支持 HLS 播放器,支持拉流 HLS 转 RTSP/RTMP/MP4。
-
-
HTTP[S] 与 WebSocket: -
服务器支持目录索引生成、文件下载、表单提交请求。 -
客户端提供文件下载器(支持断点续传)、接口请求器、文件上传器。 -
支持 WebSocket 服务器和客户端。
-
-
GB28181 与 RTP 推流: -
支持 UDP/TCP RTP(PS/TS/ES)推流服务器,可以转换成 RTSP/RTMP/HLS 等协议。 -
支持 RTSP/RTMP/HLS 等协议转 RTP 推流客户端。
-
-
MP4 点播与录制: -
支持录制为 FLV/HLS/MP4。 -
RTSP/RTMP/HTTP-FLV/WS-FLV 支持 MP4 文件点播,支持 seek。
-
-
WebRTC: -
支持 WebRTC 推流和播放,支持转其他协议。 -
支持双向 echo test、simulcast 推流、上下行 rtx/nack 丢包重传。
-
高级功能
-
集群与按需推拉流: -
支持集群部署,按需转协议、按需推拉流、先播后推、断连续推等功能。 -
支持溯源模式的集群部署,支持海量客户端连接。
-
-
转码功能(专业版): -
支持音视频间任意转码,包括 H265/H264/OPUS/G711/AAC 等。 -
支持基于配置文件的转码和基于 HTTP API 的动态增减转码。 -
支持硬件、软件自适应转码,支持滤镜和 OSD 文本以及 logo 角标。
-
-
AI 推理: -
支持 YOLO 推理插件,支持人员、车辆等目标 AI 识别。 -
支持 TensorRT 全 CUDA 加速推理,支持 ONNXRuntime(CPU/GPU) 推理。
-
-
云存储支持: -
支持 S3/MinIO 云存储内存流直接写入,解决录像文件 IO 系统瓶颈问题。
-
功能特点
-
高性能: -
使用多路复用/多线程/异步网络 IO 模式开发,并发性能优越。 -
单机支持 10W 级别播放器,100Gb/s 级别 IO 带宽能力。
-
-
跨平台支持: -
支持 Linux、macOS、iOS、Android、Windows 全平台。 -
支持 x86、arm、risc-v、mips、龙芯、申威等指令集平台。
-
-
稳定可靠: -
代码经过长期大量的稳定性、性能测试,已经在线上商用验证已久。 -
支持画面秒开、极低延时。
-
-
功能完善: -
支持多种流媒体协议,并支持协议互转。 -
支持集群、按需转协议、按需推拉流、先播后推、断连续推等功能。
-
-
易扩展: -
提供完整的 C API SDK,方便二次开发。 -
支持 RESTful API 和 Web Hook,方便集成和管理。
-
项目技术栈
-
编程语言:C++11 -
网络编程:多路复用、多线程、异步网络 IO -
协议支持:RTSP/RTMP/HLS/HTTP-FLV/WebSocket-FLV/GB28181/HTTP-TS/WebSocket-TS/HTTP-fMP4/WebSocket-fMP4/MP4/WebRTC -
操作系统:Linux、macOS、iOS、Android、Windows -
指令集平台:x86、arm、risc-v、mips、龙芯、申威 -
开发工具:CLion(感谢 JetBrains 对开源项目的支持)
开源地址
https://gitee.com/xia-chu/ZLMediaKit

