分享两款开源go与c++编写支持webrtc、rstp、rmtp等协议的流媒体直播服务程序ZLMediaKit和mediamtx
一、ZLMediaKit
ZLMediaKit是基于C++11的高性能运营级流媒体服务框架,具有以下特点和功能:
项目特点:
使用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。
支持多种指令集平台,如x86、arm、risc-v、mips、龙芯、申威等。
实现了画面秒开和极低延时(最低可达100毫秒)。
提供完善的标准C API,可用作SDK,也可供其他编程语言调用。
提供完整的MediaServer服务器,可直接部署为商用服务器。
提供完善的RESTful API和web hook,支持丰富的业务逻辑。
打通了视频监控协议栈与直播协议栈,对RTSP和RTMP的支持都很完善。
全面支持多种视频编码格式,包括H265、H264、AAC、G711、OPUS等。
功能丰富,支持集群、按需转协议、按需推拉流、先播后推、断连续推等功能。
具备极致性能,支持单机10W级别播放器,100Gb/s级别IO带宽能力。
提供了独家特性,如全面支持ipv6网络。
项目定位:
移动嵌入式跨平台流媒体解决方案。
商用级流媒体服务器。
网络编程二次开发SDK。
功能清单:
项目支持多种协议,包括RTSP[S]、RTMP[S]、HLS、TS、fMP4、HTTP[S]与WebSocket、GB28181与RTP推流、MP4点播与录制、WebRTC、SRT等。具体功能包括但不限于:
支持不同协议的服务器和客户端。
支持多种音视频编码格式。
支持HTTP和WebSocket协议,包括跨域访问。
支持GB28181和RTP推流,双向语音对讲。
支持MP4文件点播与录制。
支持WebRTC推流和播放,包括单端口、多线程、网络连接迁移等特性。
支持SRT协议。
提供RESTful API和web hook事件。
支持配置文件热加载。
支持流量统计、推拉流鉴权等事件。
...
点击查看剩余70%
网友评论