当前位置 主页 > 服务器问题 > nginx问题汇总 >

nginx-rtmp延迟的原因

栏目:nginx问题汇总 时间:2018-12-05 11:24

一、何为延迟
  例如,在12分采集的视频画面到13分才显示。这就是1分钟的延迟
二、出现延迟的原因
  1.数据滞后
  由于网络等原因,上行推送或者下行转发出现了网络拥塞,音视频数据堆积在socket 缓冲区中。这种延迟只能通过优化网络质量来解决
  2.时间戳错误
  推送端推送的时候,在采集到音视频数据之后,还做了一些类似转码等操作之后,才打时间戳,并推送数据。多线程可以解决此类问题。一个线程进行数据采集,另一个线程进行转码推送操作。这样能够将延迟保持在一定范围内。
  3.推送端cpu负载过高,导致的时间戳打的不准。解决办法,降低编码码率,一般cpu负载到70%以上,gettimeofday统计的时间就会出现一定的误差了。
三、case案例分析
  一 从服务端分析,排查是否有数据堆积。(一般局域网环境,出现数据堆积的可能性比较小)
  在服务端加日志,看是否有数据堆积。
  参见代码:
  ngx_rtmp_send()函数中,发送rtmp数据的地方可以加上这个日志,以确认,应发与实际发送的数据量是否相等。
  活着可以通过抓包,观察下行发送数据对端的窗口大小是否有不断减小,甚至0窗口。
  也可检查一下这个链表的长度是否为0,来确认是否有数据发送堆积。
缩小 缩小 缩小 缩小
IIS7整站下载工具 IIS7批量查询排名 IIS7远程桌面连接工具 iis7-iis网站批量管理 iis7批量替换工具 IIS7服务器专用下载工具 IIS7日志分析工具 IIS7批量PING,服务器批量添加网卡IP小工具 IIS7远程同步备份工具
IIS7网站监控 站群批量SEO查询 批量获取排名域名 批量关键词排名查询 模拟各种蜘蛛 批量友情链接监测 批量检测死链 搜索引擎大全 批量查询外链
批量查询网站标题 批量查询KeyWords 批量查询描述 批量查询网站IP 批量百度收录查询 批量查询百度日收录 批量查询百度周收录 批量查询百度月收录 批量查询360总收录 批量查询360日收录 批量查询网站年龄 批量查询360PC权重 批量查询爱站移动权重 批量查询站长移动权重 批量查询360移动权重 批量查询神马权重 批量查询谷歌PR 批量查询搜狗PR 批量查询百度反链 批量查询爱站首页反链 批量查询爱站内页反链 批量查询百度快照 批量查询搜狗快照 批量icp备案查询 批量网站ip地址查询 批量查询导出链接 批量查询百度V认证 批量查询百度安全 批量查询站长PC权重 批量查询爱站PC权重 批量查询搜狗总收录 站长资源大全 IIS7-cms大全 IIS7站群大全 IIS7虚拟空间大全 IIS7服务器大全 IIS7-VPS大全