【问题标题】:How to Test RTMP Streaming Load testing如何测试 RTMP 流媒体负载测试
【发布时间】:2025-12-24 15:50:11
【问题描述】:

我有一个任务,我们要测试模拟面试视频,在其中,面试者和面试者通过视频连接。

所以我们必须测试视频是否正确录制。 (视频是否崩溃) 当用户数量增加时,服务器上的负载也会增加,所以基本上是负载测试,

如果是,那么我想了解更多关于他们的信息。

如果没有,那么您还有什么可以向我建议的。

【问题讨论】:

  • 您为什么不告诉我们您针对此问题提出的解决方案?你开始在问题的底部勾勒出你的想法,但你没有完成它。与其他程序员讨论编程问题通常会有所帮助,所以请给我们更多信息。

标签: testing jmeter video-streaming functional-testing rtmp


【解决方案1】:

最简单的选择是Flazr command-line tool,它应该很简单:

./client.sh -version 00000000 -load 20 -threads 15 -host 173.23.24.25 -port 80     -app live test.stream

命令行选项的完整列表:

flazr-0.7-RC2> ./client.sh 

usage: client [options] streamNameOrUrl [saveAs | fileToPublish]                                                                                                                                                                                                              
 -app <app>            app name                                                                                                                                                                                                                                               
 -append               publish local file to server in 'append' mode                                                                                                                                                                                                          
 -buffer <buffer>      buffer duration (milliseconds)                                                                                                                                                                                                                         
 -D <property=value>   add / over-ride connection param                                                                                                                                                                                                                       
 -help                 print this message                                                                                                                                                                                                                                     
 -host <host>          host name                                                                                                                                                                                                                                              
 -length <length>      length (milliseconds)                                                                                                                                                                                                                                  
 -live                 publish local file to server in 'live' mode                                                                                                                                                                                                            
 -load <load>          no. of client connections (server load testing)                                                                                                                                                                                                        
 -loop <loop>          for publish mode, loop count                                                                                                                                                                                                                           
 -port <port>          port number                                                                                                                                                                                                                                            
 -record               publish local file to server in 'record' mode                                                                                                                                                                                                          
 -rtmpe                use RTMPE (encryption)                                                                                                                                                                                                                                 
 -start <start>        start position (milliseconds)                                                                                                                                                                                                                          
 -swf <swf>            path to (decompressed) SWF for verification                                                                                                                                                                                                            
 -threads <threads>    for load testing (load) mode, thread pool size                                                                                                                                                                                                         
 -version <version>    client version to use in RTMP handshake (hex)

更多信息:Testing RTMP streaming server – Stress testing using flazr


如果您想使用 JMeter,您可以使用相同的 flazr library,但您必须将 flazr.jar 添加到 JMeter Classpath 以及所有依赖项(jcl104-over-slf4j-1.4.2.jar,netty -3.2.7.Final.jar 等)并编写自定义代码以使用 JSR223 SamplerJava Request 采样器对您的 RTMP 服务器进行负载测试。查看RTMP Performance Testing with JMeter: Learn How 了解更多详情。

【讨论】: