mirror of
https://github.com/ZLMediaKit/ZLMediaKit.git
synced 2026-01-12 00:04:03 +08:00
Page:
rtmp拉流性能测试
Pages
Benchmark
Dependency and Copyright
GB28181 SIP信令抓包
GB28181怎么用设备ID作为流ID
GB28181推流
HTTP文件服务器优化:获取文件大小
Home
How to create a live steam
MediaServer支持的HTTP API
MediaServer支持的HTTP HOOK API
Playing URL Rules
Quick Start
RTMP对H265和OPUS的支持
RTMP播放兼容性问题
RTSP性能优化
RTSP推流流程
Starting and Stopping the Server
VideoStack多视频流拼接宫格功能
Windows 版编译说明
ZLMediaKit实现按需拉流
ZLMediaKit实现推流鉴权
ZLMediaKit实现播放鉴权
ZLMediaKit推流测试
ZLMediaKit高并发实现原理
ZLMediakit独家特性介绍
postman 自动生成的restful api接口
rtmp拉流性能测试
rtmp推流性能测试
rtsp拉流性能测试
rtsp推流性能测试
vcpkg方式安装zlmediakit
webrtc信令交互格式
zlmediakit的hls高性能之旅
zlm启用webrtc编译指南
为什么不建议QQ私聊咨询问题?
代码依赖与版权声明
代码篇之onceToken
使用ZLMediaKit实现按需推流
在线测试
延时测试
快速开始
怎么开启https相关功能
怎么测试ZLMediaKit的延时?
性能测试
播放url规则
时序图
服务器的启动与关闭
流媒体相关技术介绍
生成SSL自签名证书并测试
直播延时的本质
视频会议相关资源
配置文件详解
Clone
Table of Contents
This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
一、测试环境
- 测试日期:2022/5/18
- 代码版本:git hash:
c7d7999f - cpu: Intel(R) Xeon(R) Gold 6148 CPU @ 2.40GHz
- 操作系统:CentOS release 6.3 (Final)
- 内存:16GB
- 网卡:127.0.0.1
- 测试码流: 200kbps.768x320.flv
- 编译器:gcc (GCC) 8.2.0
- zlmediakit编译类型:Release
- malloc库:ptmalloc(未开启jemalloc)
- config.ini配置文件修改(主要开启合并写、按需转协议):
diff --git a/conf/config.ini b/conf/config.ini
index c2d4613f..99ce5c84 100644
--- a/conf/config.ini
+++ b/conf/config.ini
@@ -51,12 +51,12 @@ addMuteAudio=1
#如果不删除将会接着上一次的数据继续写(录制hls/mp4时会继续在前一个文件后面写)
resetWhenRePlay=1
#是否默认推流时转换成hls,hook接口(on_publish)中可以覆盖该设置
-publishToHls=1
+publishToHls=0
#是否默认推流时mp4录像,hook接口(on_publish)中可以覆盖该设置
publishToMP4=0
#合并写缓存大小(单位毫秒),合并写指服务器缓存一定的数据后才会一次性写入socket,这样能提高性能,但是会提高延时
#开启后会同时关闭TCP_NODELAY并开启MSG_MORE
-mergeWriteMS=0
+mergeWriteMS=300
#全局的时间戳覆盖开关,在转协议时,对frame进行时间戳覆盖
#该开关对rtsp/rtmp/rtp推流、rtsp/rtmp/hls拉流代理转协议时生效
#会直接影响rtsp/rtmp/hls/mp4/flv等协议的时间戳
@@ -72,15 +72,15 @@ enable_audio=1
###### 如果某种协议你想获取最好的用户体验,请置0(第一个播放者可以秒开,且不花屏)
#hls协议是否按需生成,如果hls.segNum配置为0(意味着hls录制),那么hls将一直生成(不管此开关)
-hls_demand=0
+hls_demand=1
#rtsp[s]协议是否按需生成
-rtsp_demand=0
+rtsp_demand=1
#rtmp[s]、http[s]-flv、ws[s]-flv协议是否按需生成
-rtmp_demand=0
+rtmp_demand=1
#http[s]-ts协议是否按需生成
-ts_demand=0
+ts_demand=1
#http[s]-fmp4、ws[s]-fmp4协议是否按需生成
-fmp4_demand=0
+fmp4_demand=1
- 推流命令:
ffmpeg -stream_loop -1 -re -i ~/Downloads/source.200kbps.768x320.flv -acodec copy -vcodec copy -f flv rtmp://ip:port/live/test
二、rtmp拉流性能测试(1万路)
- 拉流命令:
#加大文件描述符个数
ulimit -n 102400
#启动1万个rtmp拉流
./test_bench_pull -c 10000 -i rtmp://127.0.0.1/live/test
- top信息:
- perf top信息:
- nload信息(平均2.34Gb/s):
三、rtmp拉流性能测试(3万路)
- 拉流命令:
#加大文件描述符个数
ulimit -n 102400
#启动1万个rtmp拉流
./test_bench_pull -c 30000 -i rtmp://127.0.0.1/live/test
- top信息:
- perf top信息:
- nload信息(平均7.09Gb/s):
测试文档
使用教程
- 代码依赖与版权声明
- 快速开始
- vcpkg安装zlmediakit
- 服务器的启动与关闭
- GB28181教程
- 推流播放测试
- RESTful 接口
- RESTful 接口 postman自动生成
- Web Hook 接口
- 配置文件详解
- 播放URL规则
- 按需拉流
- 按需推流
- 播放鉴权
- 推流鉴权
- 怎样创建直播流
- webrtc编译与使用
- webrtc信令交互格式
- 怎么开启https相关功能
相关文档和资源
- zlmediakit独家特性
- zlmediakit的hls高性能之旅
- 高并发实现原理
- RTSP推流流程
- 流媒体相关技术介绍
- 直播延时的本质
- rtmp对H265/opus的支持
- ssl自签名证书测试
- 视频会议相关资源





