srs+rtmp和nginx+rtmp推流延时比较

简介: srs+rtmp和nginx+rtmp推流延时比较

先说下环境:

编码器速度设置最快,编码延时设置最低。

av_opt_set(pCodecCtx->priv_data, “preset”, “ultrafast”, 0);

av_opt_set(pCodecCtx->priv_data, “tune”, “zerolatency”, 0);

视频编码比特率为8M

gop_size = 25

视频格式1080i50 中间有uvvy->yuv420p的像素格式转换,及48000->44100的采样率转换。

拉流播放器使用ffplay rtmp://… 未设置特别参数


用rtmp推到srs流媒体时,过交换机的局域网。 此时源端视频和播放端视频相差1.60s。

用rtmp推到srs流媒体时,直连1.67s延时

用rtmp推到nginx时,直连延迟2.33s


以上测量数据精确度不大,但是nginx+rtmp延时相对于srs+rtmp比较大还是非常明显的。


vlc缓存在70ms-100ms之间时,与ffplay播放无肉眼可见时间差,因此ffplay默认缓存播放1080i50时缓存在80ms左右。vlc在30ms时已播放不出来视频,只能播放音频。


搭建srs+rtmp的流媒体服务器,另一篇博客:srs搭建rtmp流媒体服务器

编译带h264编码和aac编码的ffmpeg库,另一篇文章:libfdk-aac和x264安装编译


用udp推流延时测试,见:rtmp改udp推流,并测试延时性能

srt流媒体搭建:srt流媒体搭建

ffmpeg编译配置srt模块:ffmpeg编译配置srt模块

srs+rtmp和nginx+rtmp推流延时比较

各部分所占延时:从采集到拉流各部分延时概述



相关文章
|
应用服务中间件 视频直播 Linux
windows下使用Nginx搭建Rtmp流媒体服务器,实现视频直播功能
windows下使用Nginx搭建Rtmp流媒体服务器,实现视频直播功能
3366 0
windows下使用Nginx搭建Rtmp流媒体服务器,实现视频直播功能
|
1月前
|
网络协议 应用服务中间件 nginx
FFmpeg错误笔记(一):nginx-rtmp-module推流出现 Server error: Already publishing
这篇文章讨论了在使用nginx-rtmp-module进行RTMP推流时遇到的“Server error: Already publishing”错误,分析了错误原因,并提供了详细的解决办法,包括修改nginx配置文件和终止异常的TCP连接。
125 0
FFmpeg错误笔记(一):nginx-rtmp-module推流出现 Server error: Already publishing
|
应用服务中间件 nginx Windows
音视频系列六:Windows搭建Nginx+rtmp推流服务器
在前面 阿里云服务器搭建Nginx+rtmp推流服务器 中,我们已经配置把阿里云的rtmp推流服务搭建好了,用的是PC软件OBS来进行推流到阿里云服务器转发然后本地拉流。Windows也是大同小异,现在是用Windows进行推流服务的搭建,本地ffmpeg命令行推流,本地ffplay拉流播放/VLC拉流播放。
1192 0
音视频系列六:Windows搭建Nginx+rtmp推流服务器
|
缓存 网络协议 应用服务中间件
Linux下使用Nginx搭建Rtmp流媒体服务器,实现视频直播功能
Linux下使用Nginx搭建Rtmp流媒体服务器,实现视频直播功能
1075 0
Linux下使用Nginx搭建Rtmp流媒体服务器,实现视频直播功能
|
6月前
|
监控 Unix 应用服务中间件
Android-音视频学习系列-(八)基于-Nginx-搭建(rtmp、http)直播服务器
Android-音视频学习系列-(八)基于-Nginx-搭建(rtmp、http)直播服务器
|
2月前
|
应用服务中间件 nginx
一文搞定Nginx配置RTMP!
一文搞定Nginx配置RTMP!
123 3
|
4月前
|
应用服务中间件 Linux nginx
FFmpeg开发笔记(四十)Nginx集成rtmp模块实现RTMP推拉流
《FFmpeg开发实战》书中介绍了如何使用FFmpeg向网络推流,简单流媒体服务器MediaMTX不适用于复杂业务。nginx-rtmp是Nginx的RTMP模块,提供基本流媒体服务。要在Linux上集成rtmp,需从官方下载nginx和nginx-rtmp-module源码,解压后在nginx目录配置并添加rtmp模块,编译安装。配置nginx.conf启用RTMP服务,监听1935端口。使用ffmpeg推流测试,如能通过VLC播放,表明nginx-rtmp运行正常。更多详情见书本。
116 0
FFmpeg开发笔记(四十)Nginx集成rtmp模块实现RTMP推拉流
|
6月前
|
应用服务中间件 nginx Windows
windows下Nginx+RTMP部署
windows下Nginx+RTMP部署
76 0
|
6月前
|
应用服务中间件 nginx C++
nginx: [emerg] unknown directive “rtmp“ in ./../conf/nginx.conf:16
nginx: [emerg] unknown directive “rtmp“ in ./../conf/nginx.conf:16
|
6月前
|
应用服务中间件 nginx Windows
ffmpeg推流到nginx服务器,并使用vlc播放rtmp视频
ffmpeg推流到nginx服务器,并使用vlc播放rtmp视频
358 0