docker搭建高性能运营级流媒体服务框架ZLMediaKit——筑梦之路
https://github.com/ZLMediaKit/ZLMediaKit
- 基于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、龙芯、申威等指令集平台。
- 支持画面秒开、极低延时(500毫秒内,最低可达100毫秒)。
- 提供完善的标准C API,可以作SDK用,或供其他语言调用。
- 提供完整的MediaServer服务器,可以免开发直接部署为商用服务器。
- 提供完善的restful api以及web hook,支持丰富的业务逻辑。
- 打通了视频监控协议栈与直播协议栈,对RTSP/RTMP支持都很完善。
- 功能完善,支持集群、按需转协议、按需推拉流、先播后推、断连续推等功能。
- 极致性能,单机10W级别播放器,100Gb/s级别io带宽能力。
- 极致体验,独家特性
- 谁在使用zlmediakit?
- 全面支持ipv6网络
- 支持多轨道模式(一个流中多个视频/音频)
- 全协议支持H264/H265/AAC/G711/OPUS/MP3,部分支持VP8/VP9/AV1/JPEG/MP3/H266/ADPCM/SVAC/G722/G723/G729
# 拉取镜像
docker pull zlmediakit/zlmediakit:master# 启动
docker run -d \--name zlm-server \-p 1935:1935 \-p 8099:80 \-p 8554:554 \-p 10000:10000 \-p 10000:10000/udp \-p 8000:8000/udp \-v /docker-volumes/zlmediakit/conf/config.ini:/opt/media/conf/config.ini \zlmediakit/zlmediakit:master# config.ini[hls]
broadcastRecordTs=0
deleteDelaySec=300 # 推流的视频保存多久(5分钟)
fileBufSize=65536
filePath=./www # 保存路径
segDur=2 # 单个.ts 切片时长(秒)。
segNum=1000 # 直播时.m3u8 里最多同时保留多少个切片。
segRetain=9999 # 磁盘上实际保留多少个历史切片# 查看启动日志docker logs -f zlm-server
windows 10 FFmpeg二进制文件下载地址:
https://www.gyan.dev/ffmpeg/builds/
仅供参考