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推流延时比较
各部分所占延时:从采集到拉流各部分延时概述

哎呦喂ヾ(✿゚▽゚)ノ~路长馆小,雪轻帘薄,酒热乎,这位爷~您ヾ(✿゚▽゚)ノ~ 里面坐~
本公众号专注分享C++,ffmpeg,opencv等相关音视频知识
webrtc,udp,tcp,rtsp,rtmp,srt/nginx+rtmp等流媒体协议和服务器
同时也会有大厂音视频技术专家不定期直播分享…
国人开发流媒体srs服务器,及yangrtc(国人版的webrtc)协议新动向
偶尔分享下程序员梦呓碎碎念(๑•॒̀ ູ॒•́๑)啦啦啦
目前刚刚开通,接受读者的优质投稿…
鉴于国内音视频圈子小,起步晚,以致分享少,门槛高,特开通分享,一起扇动这阵风吧!
微信扫描下方二维码,关注公众号,赶快进入音视频开发者社区吧!

猜你喜欢

转载自blog.csdn.net/weixin_43466192/article/details/121245428