srs-bench 针对特定业务性能测试并发推流 解决方案
来源:互联网 发布:淘宝店买什么好 编辑:程序博客网 时间:2024/06/06 07:11
srs-bench 针对特定业务性能测试并发推流 解决方案
srs-bench 相信做过直播流并发测试的并不陌生,不在这过多介绍,见srs-bench 官网:https://github.com/ossrs/srs-bench
特定业务说明:
项目在对推流服务端做了限制,推流成功不是简单将 流推到服务端,推流是,需要调用添加流(add steam )API添加一条流信息,添加成功后会返回值中有token值。简单说下,就是推流时,需要带认证的token。
srs-bench中 sb_rtmp_publish 的局限性在于,在推流时,没有token处理这些功能,比如:
./sb_rtmp_publish -i doc/source.200kbps.768x320.flv -c 1000 -r rtmp://127.0.0.1:1935/live/livestream_{i}
这里意思是将1000路流推到 服务端,流的名称为livestream_{i}。
那么问题来了,根据上述业务需要,推流到服务端需要认证的token,所以这样的话,sb_rtmp_publish本省的这种机制就不能满足要求。我们就需要一个替代方案。
解决方案:
(1)利用Linux多进程机制,让sb_rtmp_publish以多进程运行。每个进程跑一路推流。
./sb_rtmp_publish -i ../doc/source.200kbps.768x320.flv -c 1 -r rtmp://192.168.1.26:1935/live/PFM_test_HD_test${i}?token=${line}
(2)sb_rtmp_publish是在前端运行,需要改为 在后端运行,用nohup
nohup ./sb_rtmp_publish -i ../doc/source.200kbps.768x320.flv -c 1 -r rtmp://192.168.1.26:1935/live/PFM_test_HD_test${i}?token=${line} >pfm_logs/logpfm 2>&1 &
(3)Token存在一个文件中,写个shell命令从token文件去读取,有多少token就会产生多少路推流。
完成shell 命令如下:
至此方案结束。
srs-bench 相信做过直播流并发测试的并不陌生,不在这过多介绍,见srs-bench 官网:https://github.com/ossrs/srs-bench
特定业务说明:
项目在对推流服务端做了限制,推流成功不是简单将 流推到服务端,推流是,需要调用添加流(add steam )API添加一条流信息,添加成功后会返回值中有token值。简单说下,就是推流时,需要带认证的token。
srs-bench中 sb_rtmp_publish 的局限性在于,在推流时,没有token处理这些功能,比如:
./sb_rtmp_publish -i doc/source.200kbps.768x320.flv -c 1000 -r rtmp://127.0.0.1:1935/live/livestream_{i}
这里意思是将1000路流推到 服务端,流的名称为livestream_{i}。
那么问题来了,根据上述业务需要,推流到服务端需要认证的token,所以这样的话,sb_rtmp_publish本省的这种机制就不能满足要求。我们就需要一个替代方案。
解决方案:
(1)利用Linux多进程机制,让sb_rtmp_publish以多进程运行。每个进程跑一路推流。
./sb_rtmp_publish -i ../doc/source.200kbps.768x320.flv -c 1 -r rtmp://192.168.1.26:1935/live/PFM_test_HD_test${i}?token=${line}
(2)sb_rtmp_publish是在前端运行,需要改为 在后端运行,用nohup
nohup ./sb_rtmp_publish -i ../doc/source.200kbps.768x320.flv -c 1 -r rtmp://192.168.1.26:1935/live/PFM_test_HD_test${i}?token=${line} >pfm_logs/logpfm 2>&1 &
(3)Token存在一个文件中,写个shell命令从token文件去读取,有多少token就会产生多少路推流。
完成shell 命令如下:
#!/bin/sh i=0 cat data|while read line do let i=${i}+1 #echo ${line}${i} nohup ./sb_rtmp_publish -i ../doc//source.200kbps.768x320.flv -c 1 -r rtmp://192.168.1.26:1935/live/PFM_test_HD_test${i}?token=${line} >pfm_logs/logpfm 2>&1 & #sleep 10s done(4)至于token怎么来,需要根据具体的业务,写代码代调用API生成,并把这些token写到一个文件中。
至此方案结束。
阅读全文
0 0
- srs-bench 针对特定业务性能测试并发推流 解决方案
- 视频流并发测试工具srs-bench使用问题汇总
- srs-bench测试环境
- Apache Bench测试web性能
- 开源性能测试工具- Apache Bench
- 用 Apache Bench 进行网站性能测试
- Apache性能测试工具Apache Bench
- 开源性能测试工具- Apache Bench
- 利用Apache Bench测试Web引擎性能
- 利用Apache Bench测试Web引擎性能
- 利用Apache Bench测试Web引擎性能
- SRS服务器搭建,ffmpeg 本地推流
- SRS + ffmpeg 推即时视频流
- 1 网站压力测试工具 WEB性能测试 Web Bench
- 视频网站基于srs的直播业务压力测试
- 使用Apache Bench 和 Gnuplot产生性能测试图
- 使用Apache Bench对网站性能进行测试
- 使用websocket-bench进行socket.io性能测试
- codeforces 849A A.Odds and Ends
- 我的自我评价·担忧·困惑·反思(不断更新)
- Android 性能优化学习笔记.
- 17.9.1日报
- 利用CoreAnimation实现一个时间的进度条
- srs-bench 针对特定业务性能测试并发推流 解决方案
- javaWEB项目中webSocket的简单应用
- 5. Longest Palindromic Substring
- JAVA入门第一式
- 版本控制之SVN(一)
- 前端面试系列之---异步 单线程
- 腾讯社交广告“高校算法大赛” Amelie 30th
- 位运算应用技巧(给各位对于位运算不知所云的新手们)
- Centos 配置本地yum源