- SRS Wiki 首页
- SRS Arch
- ARM转码
- 带宽测试
- 安装
- 客户端 SDK
- 开源的客户端 SDK
- DeliveryHDS
- Delivery HLS
- Delivery HTTP FLV Stream
- Delivery Method
- 分发 RTMP 流
- HttpServer
- DRM
- DVR
- Edge Server
- 功能列表
- Live Streaming Transcode
- 点播 FLV 流
- Forward For Small Cluster
- GIT
- GPERF 内存和性能分析
- gprof 性能分析
- 心跳
- SRS 支持 HEVC 编码
- SRS 简介
- HTTP API
- HTTP Callback
- SRS Embeded HTTP Server
- 集成开发环境
- 采集
- K8S
- Kafka
- SRS 系统服务
- LiveShow
- LogRotate
- 低延时直播应用
- Exec
- OriginCluster
- Perf性能分析
- Performance Banchmark
- Project
- Performance benchmark for SRS on RaspberryPi
- Reload
- REUSE PORT
- WebRTC
- ATC支持HLS/HDS热备
- 分发方式比较
- RTMP Handshake
- URL Specification
- Use Scenarios
- ARM上部署SRS实例
- DASH部署实例
- Demo的部署
- FFMPEG转码部署实例
- RTMP流转发(Forward)部署实例
- HLS部署实例
- SRS-HTTP服务部署实例
- SRS-HTTP-FLV部署实例
- SRS-HTTP-FLV集群部署实例
- Ingest采集实例
- RTMP源站集群部署实例
- RTMP低延时配置
- RTMP部署实例
- RTMP边缘集群部署实例
- SRT deploy example
- 转码后分发HLS部署实例
- Security
- 服务器端开发脚本
- 开始使用
- Snapshot
- SpecialControl
- SRS提供的librtmp
- SRS for linux-arm
- SRS Log System
- SRT媒体编码支持格式
- SRT参数配置
- SRT直播地址格式简介
- SRT
- Streamer
- TimeJitter
- Web P2P
- Windows下的SRS
文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
带宽测试
视频很卡,播放不了,缓冲区突然很大,推流上不来,都有可能是带宽过低,SRS支持测试客户端到服务器的带宽。
SRS配置
SRS配置一般是单独加一个vhost支持测速。SRS的配置conf/bandwidth.conf
。譬如:
listen 1935;
vhost __defaultVhost__ {
}
vhost bandcheck.srs.com {
enabled on;
chunk_size 65000;
bandcheck {
enabled on;
key "35c9b402c12a7246868752e2878f7e0e";
interval 30;
limit_kbps 4000;
}
}
其中:
- key:服务器的key,若客户端给出的key和配置的不一致,断开连接。
- interval:测速的间隔,单位为秒,可为小数。若连续发起测速,时间间隔小于interval,服务器拒绝连接。
- limit_kbps:测速的最大带宽,即可以测出来的最大带宽,防止服务器收到攻击。
假设服务器的IP是:192.168.1.170
Flash测速工具
启动后用带宽测试客户端就可以查看:http://ossrs.net/srs.release/trunk/research/players/srs_bwt.html?server=192.168.1.170
备注:请将所有实例的IP地址192.168.1.170都换成部署的服务器IP地址。
检测完毕后会提示带宽,譬如:
检测结束: 192.168.1.170 上行: 1965 kbps 下行: 3631 kbps 测试时间: 6.0 秒
server:SRS 0.9.156 (github.com/ossrs/srs),
authors:winlin,wenjie.zhao, srs_id:123, srs_pid:32057, ip:192.168.1.170
测速库
我提供了AS和JS的库,可以直接调用来和服务器测速。
AS的库,直接拷贝文件SrsBandwidth.as
到工程,调用即可(参考注释说明):
- AS库对象:SrsBandwidth.as
- AS调用对象(主对象):srs_bwt.as,如何调用
SrsBandwidth.as
的实例。
JS的库,需要拷贝srs_bwt.swf
和srs.bandwidth.js
,调用方法参考js说明:
- JS库对象:srs.bandwidth.js
- JS调用对象(页面):srs_bwt.html,如何调用
srs.bandwidth.js
的实例。
备注:JS需要调用swf导出的js函数,由Flash发送RTMP包测速,因此js库依赖于as。可以导入Flex工程自己编译,或者使用已经编译好的srs_bwt.swf
Linux工具测速
另外,SRS还提供了带宽检测命令行工具:
[winlin@dev6 srs]$ cd objs/research/librtmp/
[winlin@dev6 librtmp]$ ./srs_bandwidth_check
RTMP bandwidth check/test with server.
Usage: ./srs_bandwidth_check <rtmp_url>
rtmp_url RTMP bandwidth url to check. format: rtmp://server:port/app?key=xxx,vhost=xxx
For example:
./srs_bandwidth_check rtmp://127.0.0.1:1935/app?key=35c9b402c12a7246868752e2878f7e0e,vhost=bandcheck.srs.com
./srs_bandwidth_check rtmp://127.0.0.1:1935/app?key=35c9b402c12a7246868752e2878f7e0e,vhost=bandcheck.srs.com>/dev/null
@remark, output text to stdout, while json to stderr.
直接执行将打印文本和json信息:
[winlin@dev6 librtmp]$ ./srs_bandwidth_check rtmp://127.0.0.1:1935/app?key=35c9b402c12a7246868752e2878f7e0e,vhost=bandcheck.srs.com
RTMP bandwidth check/test with server.
srs client librtmp library.
version: 0.9.158
bandwidth check/test url: rtmp://127.0.0.1:1935/app?key=35c9b402c12a7246868752e2878f7e0e,vhost=bandcheck.srs.com
simple handshake success
connect vhost/app success
bandwidth check/test success
SRS 0.9.158 (github.com/ossrs/srs), winlin,wenjie.zhao
127.0.0.1, 0.9.158, srs_pid=15264, srs_id=107
duration: 6395ms(3165+3148)
play: 3578kbps
publish: 4035kbps
terminate with ret=0
{"code":0,
"srs_server":"SRS 0.9.158 (github.com/ossrs/srs)",
"srs_primary_authors":"winlin,wenjie.zhao",
"srs_server_ip":"127.0.0.1",
"srs_version":"0.9.158",
"srs_pid":15264,
"srs_id":107,
"duration":6395,
"play_duration":3165,
"play_kbps":3148,
"publish_kbps":3578}
可以只打印json信息,将stdout定向到/dev/null:
[winlin@dev6 librtmp]$ ./srs_bandwidth_check rtmp://127.0.0.1:1935/app?key=35c9b402c12a7246868752e2878f7e0e,vhost=bandcheck.srs.com>/dev/null
{"code":0,
"srs_server":"SRS 0.9.158 (github.com/ossrs/srs)",
"srs_primary_authors":"winlin,wenjie.zhao",
"srs_server_ip":"127.0.0.1",
"srs_version":"0.9.158",
"srs_pid":15264,
"srs_id":109,
"duration":6354,
"play_duration":3092,
"play_kbps":3177,
"publish_kbps":3662}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论