组件分享之后端组件——支持格式更全的视频流处理组件ZLMediaKit

组件分享之后端组件——支持格式更全的视频流处理组件ZLMediaKit

背景

近期正在探索前端、后端、系统端各类常用组件与工具,对其一些常见的组件进行再次整理一下,形成标准化组件专题,后续该专题将包含各类语言中的一些常用组件。欢迎大家进行持续关注。

组件基本信息

  • 组件:ZLMediaKit
  • 开源协议: MIT License
  • wiki:快速开始

内容

最近正在研究视频流相关技术,本节再次分享一个组件ZLMediaKit
我认为它是目前相比比较全功能的组件了,有兴趣的小伙伴可以进行了解一下,相比于之前分享的视频流处理类组件不同,这个组件是由C++11进行编写的,之前分享的为Golang编写的。

项目特点

  • 基于C++11开发,避免使用裸指针,代码稳定可靠,性能优越。
  • 支持多种协议(RTSP/RTMP/HLS/HTTP-FLV/WebSocket-FLV/GB28181/HTTP-TS/WebSocket-TS/HTTP-fMP4/WebSocket-fMP4/MP4/WebRTC),支持协议互转。
  • 使用多路复用/多线程/异步网络IO模式开发,并发性能优越,支持海量客户端连接。
  • 代码经过长期大量的稳定性、性能测试,已经在线上商用验证已久。
  • 支持linux、macos、ios、android、windows全平台。
  • 支持画面秒开、极低延时(500毫秒内,最低可达100毫秒)。
  • 提供完善的标准C API,可以作SDK用,或供其他语言调用。
  • 提供完整的MediaServer服务器,可以免开发直接部署为商用服务器。
  • 提供完善的restful api以及web hook,支持丰富的业务逻辑。
  • 打通了视频监控协议栈与直播协议栈,对RTSP/RTMP支持都很完善。
  • 全面支持H265/H264/AAC/G711/OPUS。
  • 功能完善,支持集群、按需转协议、按需推拉流、先播后推、断连续推等功能。
  • 极致性能,单机10W级别播放器,100Gb/s级别io带宽能力。
  • 极致体验,[独家特性]

包含功能一图即可概括。


image.png

这个组件有三种使用方式

  • 1、使用c api,作为sdk使用,请参考这里.
  • 2、作为独立的流媒体服务器使用,不想做c/c++开发的,可以参考 restful api 和 web hook.
  • 3、如果想做c/c++开发,添加业务逻辑增加功能,可以参考这里的测试程序.

当然它也支持快速Docker安装

docker run -id -p 1935:1935 -p 8080:80 -p 8554:554 -p 10000:10000 -p 10000:10000/udp panjjo/zlmediakit

更多使用说明直接查看官方的wiki即可,还是比较全的。

本文声明:

88x31.png

知识共享许可协议
本作品由 cn華少 采用 知识共享署名-非商业性使用 4.0 国际许可协议 进行许可。

你可能感兴趣的:(组件分享之后端组件——支持格式更全的视频流处理组件ZLMediaKit)