nginx-rtmp延迟分析
来源:互联网 发布:centos7 库软件安装 编辑:程序博客网 时间:2024/06/01 09:03
一 何为延迟
例如,在12分采集的视频画面到13分才显示。这就是1分钟的延迟
二 出现延迟的原因
1 数据滞后
由于网络等原因,上行推送或者下行转发出现了网络拥塞,音视频数据堆积在socket 缓冲区中。这种延迟只能通过优化网络质量来解决
2 时间戳错误
推送端推送的时候,在采集到音视频数据之后,还做了一些类似转码等操作之后,才打时间戳,并推送数据。多线程可以解决此类问题。一个线程进行数据采集,另一个线程进行转码推送操作。这样能够将延迟保持在一定范围内。
3 推送端cpu负载过高,导致的时间戳打的不准。解决办法,降低编码码率,一般cpu负载到70%以上,gettimeofday统计的时间就会出现一定的误差了。
三 case案例分析
一 从服务端分析,排查是否有数据堆积。(一般局域网环境,出现数据堆积的可能性比较小)
在服务端加日志,看是否有数据堆积。
参见代码:
ngx_rtmp_send()函数中,发送rtmp数据的地方可以加上这个日志,以确认,应发与实际发送的数据量是否相等。
活着可以通过抓包,观察下行发送数据对端的窗口大小是否有不断减小,甚至0窗口。
也可检查一下这个链表的长度是否为0,来确认是否有数据发送堆积。
更多开源流媒体技术,请关注我们的微信:EasyDarwin
阅读全文
0 0
- nginx-rtmp延迟分析
- RTMP 延迟分析
- NGINX-RTMP复杂度分析
- NGINX-RTMP复杂度分析
- perf+flamegraph 分析 nginx-rtmp 性能
- nginx-rtmp
- nginx rtmp
- nginx+rtmp
- RTMP Protocol Intro - Nginx + RTMP
- Nginx RTMP 功能研究
- Nginx RTMP 功能研究
- NGINX RTMP 功能介绍
- nginx搭建rtmp服务器
- Nginx RTMP 指令详解
- Nginx RTMP 功能研究
- nginx-rtmp一些指令
- nginx搭建rtmp服务器
- nginx rtmp使用指南
- Map初始化及put过程(源码解析)
- 什么是python
- 一些想法
- VS2015对WDK10驱动程序进行双机调试
- 理解HTML语义化
- nginx-rtmp延迟分析
- 一个重要且实用的signal---SIGCHLD
- 星期一的转身(未完成)
- 调制(1)——编码(基带调制)
- 单例
- BZOJ2741: 【FOTILE模拟赛】L(分块+可持续化Trie)
- 面试中常见的集合类问题
- 使用全注解配置Spring MVC+Spring +MyBatis框架,带事务配置。
- leetcode 330. Patching Array 最小的添加/删除次数使sum为1到n