ZLMediaKit/README.md
2025-06-25 07:22:51 +00:00

3.9 KiB
Raw Blame History

一个基于C++11的高性能运营级流媒体服务框架

License Language

ZLMediaKit是一个高性能流媒体开发框架使用C++11编写支持多种协议RTSP/RTMP/HLS/WebRTC/SRT/DASH/HTTP-FLV等提供丰富的API支持多种视频编码H.264/H.265/JPEG/VP8/VP9/AV1和音频编码AAC/G711/OPUS/G722/PCMU/PCMA

项目特点

  • 高性能基于异步IO模型支持高并发和低延迟。
  • 协议丰富支持RTMP、RTSP、HLS、WebRTC、SRT等多种流媒体协议。
  • 跨平台支持Linux、macOS、iOS、Android、Windows等多平台编译。
  • 易于扩展:提供多种插件机制,便于功能扩展。
  • 完善的文档提供详细的API文档和使用示例。

项目定位

ZLMediaKit旨在为企业级流媒体服务提供一个高效、稳定、可扩展的解决方案适用于在线教育、视频会议、安防监控、直播推流等多种场景。

功能清单

  • RTMP
    • 推流、拉流
    • 支持H.264/H.265/AAC/OPUS/G711
    • 支持直播、回放
  • RTSP
    • 推流、拉流
    • 支持RTP/RTCP/RTCP-Bye/SRTCP
    • 支持点播、暂停、快进、鉴权
  • HLS
    • 支持HLS直播与回放
    • 支持fmp4与ts切片
    • 支持多级目录结构
  • WebRTC
    • 支持ICE、STUN、TURN、SCTP
    • 支持P2P通信
    • 支持抗丢包、抗抖动
    • 支持webrtc over tcp
  • SRT
    • 支持SRT推流和拉流
    • 支持SRT over UDP
    • 支持加密传输
  • DASH
    • 支持MPD直播与回放
  • HTTP-FLV
    • 支持HTTP-FLV直播
  • 录像
    • 支持MP4录像
    • 支持H.264/H.265/AAC/G711
  • 协议转换
    • 支持RTMP转RTSP、RTMP转HLS等
  • 高性能网络
    • 支持epoll、kqueue、iocp等高性能IO模型
    • 支持自定义线程池

闭源专业版

闭源专业版提供更丰富的功能,包括:

  • 更强大的转码功能
  • 更完善的鉴权机制
  • 更丰富的RESTful API
  • 更友好的调试工具

编译以及测试

系统要求

  • Linux
    • GCC 5.2+ 或更高
    • CMake 3.1+ 或更高
  • macOS
    • Xcode 或 CLT 安装
  • Windows
    • Visual Studio 2015 Update 3 或更高
  • Android
    • NDK r17c 或更高
  • iOS
    • Xcode 或 NDK

编译方式

在Linux上编译

  1. 安装GCC 5.2+若GCC版本低于4.7)。
  2. 安装CMake若CMake版本低于3.1)。
  3. 切换到更高版本的GCC。
  4. 执行以下命令进行编译:
    mkdir build
    cd build
    cmake ..
    make
    

在macOS上编译

mkdir build
cd build
cmake ..
make

在iOS上编译

cd build
cmake -DCMAKE_TOOLCHAIN_FILE=../cmake/ios.toolchain.cmake ..
make

在Android上编译

使用Android NDK编译确保NDK版本符合要求。

在Windows上编译

使用Visual Studio 2015或更高版本打开项目文件进行编译。

怎么使用

二进制文件下载

提供二进制文件下载链接,支持多种平台。

Docker 镜像

持续集成自动编译推送,与代码保持同步。详细部署方式请参考k8s部署建议

合作项目

授权协议

ZLMediaKit采用MIT License,详细请查看项目根目录下的LICENSE文件。

联系方式

  • 邮箱zlmediakit@163.com
  • QQ群557078143

怎么提问?

请参考如何提问?

特别感谢

感谢MediaSoup开源项目。

使用案例

  • 视频会议系统
  • 在线教育平台
  • 安防视频监控平台
  • 直播平台