单虚拟机nginx-rtmp-module直播带宽测试
2017-02-10 22:44
267 查看
硬件环境:
A机:宿主机:Windows 10 with Linux subsystem
硬件配置:CPU: i7-4790K 4 Cores 8 Threads,RAM: 8G
注:宿主机主要用于启动Linux子系统运行srs-benchmark软件和虚拟机
B机:
虚拟机:Windows 7
虚拟硬件配置:CPU: i7-4790K 2 Cores,RAM: 2G
桥接网卡带宽为VBox固定值1G
注:虚拟机主要用于模拟单机云服务器配置环境,用于运行nginx-rtmp-module直播服务器
测试软件:
宿主机:虚拟机软件:Virtual Box
直播软件: OBS
压力测试软件:srs - bench (Linux)
播放器播放测试:VLC Player
虚拟机:
直播服务器软件:Nginx-rtmp-module for windows
虚拟机环境:
首先要在Windows 10系统当中安装Virtual Box软件,并使用Virtual Box安装Windows 7 虚拟机,虚拟机联网方式为“桥接网络”,桥接网络带宽1Gbps。其次,Win10主机安装VLC播放器,用测试直播视频正常使用,并且启动Linux subsystem 用于编译srs-bench,本步骤之所以需要Linux子系统编译,是因为少有第三方免费的rtmp压力测试软件,srs-bench系开源软件,在其许可下可以编译使用,不直接提供二进制执行文件。编译过程暂不讨论,假设已编译完成。
安装直播推流软件OBS,用于推送一路视频流到nginx-rtmp服务器上。
虚拟机Win 7安装任意流量统计软件,或者使用自带的资源管理器软件统计实时传输流量。
测试过程:
1、 首先在Win7 虚拟机中启动nginx-rtmp服务器软件,并确保1935端口没有被防火墙阻挡;2、 在宿主机上启动OBS软件,并在演播室窗口导入待串流视频; 设置串流服务器地址;设置串流视频转码参数;
3、 VLC播放测试,确认串流的视频能够通过服务器播放。
4、 启动srs-bench,开始测试多观众端测试
本次OBS测试的一些固定推流和转码参数(非默认参数):
编码方式 | 缓冲帧数 | OBS帧丢失等级 | 关键帧间隔 | 码率控制方式 |
H.264 (使用QSV x264) | 30fps | 允许双向帧丢失(B帧) | 2 | CBR |
使用的编码器使用Intel Quick Sync Video 技术进行硬件H.264编码,没有使用nVidia显卡编码技术和x264的CPU编码,是因为相较之下IntelQSV有更多优势。QSV编码可以不占用CPU使用率来进行视频编码串流,并且正常播放流。nVidia的NVENC硬件编码能够调整的参数过少,低码率编码的多端播放支持差。使用x264的CPU编码要占用大量的CPU资源,会较大地影响测试数据。另外,视频延迟本次测试由于太难把控,所以暂不计入记录表。
以下为测试过程使用的各方参数与并发量统计表,并发量判定标准为VLC播放端持续流畅播放。
码率 | 分辨率 | 并发数 | 使用带宽(出) | CPU使用率 | Nginx内存用量 | VLC播放测试流畅度评分 |
300kbps | 848x480 | 1 | 30~80KB/s | 0.5% | 1.9M | 100 |
300kbps | 848x480 | 2 | 60~160KB/s | 1.5% | 2.4M | 100 |
300kbps | 848x480 | 100 | 5~9MB/s | 20% | 5.6M | 100 |
300kbps | 848x480 | 200 | 10~13MB/s | 25%~35% | 7.5M | 100 |
300kbps | 848x480 | 400 | 16~22MB/s | 45%~56% | 10M | 80 |
300kbps | 848x480 | 500 | 16~20MB/s | 48%~56% | 12M | 70 |
300kbps | 848x480 | 1000 | 12MB/s | 48%~56% | 14M | 10 |
600kbps | 1280x720 | 1 | 60~120KB/s | 0.5% | 1.8M | 100 |
600kbps | 1280x720 | 2 | 160~260KB/s | 1% | 3.9M | 100 |
600kbps | 1280x720 | 100 | 8~16MB/s | 15%~25% | 5M | 100 |
600kbps | 1280x720 | 200 | 19~23MB/s | 23%~43% | 7M | 100 |
600kbps | 1280x720 | 400 | 17~23MB/s | 49%~55% | 10M | 70 |
600kbps | 1280x720 | 500 | 16~22MB/s | 48%~55% | 18M | 20 |
600kbps | 1280x720 | 1000 | 10MB/s | 50%~55% | 24M | 0 |
相关文章推荐
- 基于nginx-rtmp-module直播测试
- nginx+rtmp module搭建直播+录制环境
- 直播系列4-使用nginx+nginx-rtmp-module+ffmpeg搭建流媒体服务器笔记(一)
- windows下流媒体nginx-rmtp-module服务器搭建及java程序调用fmpeg将rtsp转rtmp直播流【转】
- 基于nginx-rtmp-module模块实现的基于HTTP协议的FLV直播模块(nginx-http-flv-module)
- 直播推流nginx-rtmp-module集成
- Nginx与Nginx-rtmp-module搭建RTMP视频直播和点播服务器
- 用nginx-rtmp-module直播写代码
- Nginx+Nginx-rtmp-module做在线直播服务器及在线录播
- 用开源nginx-rtmp-module搭建flash直播环境
- lnmp与nginx-rtmp-module搭建视频直播,感受一下流媒体服务器
- 新 CentOS 6.5 6.9 环境下搭建直播模拟测试环境 ffmpeg+nginx=rtmp (傻瓜式环境搭建)
- 用开源nginx-rtmp-module搭建flash直播环境
- 用开源nginx-rtmp-module搭建flash直播环境
- obs nginx-rtmp-module搭建流媒体服务器实现直播 ding
- 使用Nginx-rtmp-module搭建hls直播
- 利用nginx与nginx-rtmp-module搭建流媒体服务器实现直播
- Nginx+Nginx-rtmp-module做在线直播服务器及在线录播
- 用开源NGINX-RTMP-MODULE搭建FLASH直播环境
- 分享一下最近对直播的研究red5 nginx-rtmp-module rtmp hls m3u8 ts