st-load视频性能测试

介绍

在一个完整的流媒体服务框架中,角色就是"两端加一服",即推流端、拉流端加上流媒体服务器,按照应用场景的不同,协议又分推流协议和拉流协议。国内的面向大众的直播平台都是采用的rtmp、httpflv和hls技术:

在这里插入图片描述

安装

1、安装编译环境:yum install git unzip patch gcc gcc-c++ make

2、下载工具:git clone https://github.com/winlinvip/st-load.git

3、进入工具目录:cd st-load

4、编译:./configure

5、安装:make

6、查看生成的文件和目录:ls objs/

参数详解

  -i 设定输入流

  -c 负载个数,默认:1

  -r 后面接每个测试的url地址,等同于 --url URL

  -s 线程启动时间 defaut:5.00, 0表示没有延迟

  注意:sb_rtmp_publish只可以推送.flv格式的视频

推流

1、模拟单路RTMP推流:./sb_rtmp_publish -i /usr/local/ffmpeg/cnlzd.flv -c 1 -r rtmp://127.0.0.1/live/livestream

2、模拟多路RTMP推流:./sb_rtmp_publish -i /usr/local/ffmpeg/cnlzd.flv -c 10 -r rtmp://127.0.0.1/live/livestream_{i}

拉流

1、RTMP拉流:./sb_rtmp_load -c 1 -r rtmp://127.0.0.1:1935/live/livestream

2、HTTP拉流:./sb_http_load -c 1 -r http://127.0.0.1:8081/live/livestream

3、HLS拉流:./sb_hls_load -c 1 -r http://127.0.0.1:8081/hls/livestream/index.m3u8

  1)HLS (HTTP Live Streaming),Apple的动态码率自适应技术。主要用于PC和Apple终端的音视频服务。包括一个m3u(8)的索引文件和TS媒体分片文件。

  2)分段策略:HLS的分段策略,基本上推荐是10秒一个分片,当然,具体时间还要根据切片的实际时长做标注。通常来说,为了缓存等方面的原因,在索引文件中会保留最新的三个分片地址,以类似“滑动窗口”的形式,进行更新。  

  3)m3u8文件:m3u8是HTTP Live Streaming直播的索引文件。m3u8基本上可以认为就是.m3u格式文件,区别在于,m3u8文件使用UTF-8字符编码

  #EXTM3U m3u文件头,必须放在第一行

  #EXT-X-MEDIA-SEQUENCE:7 第一个TS分片的序列号

  #EXT-X-TARGETDURATION:15 每个分片TS最大时长

  #EXTINF:15.099 extra info分片TS的信息

原文地址:https://www.cnblogs.com/wu-wu/p/13640248.html