当我们使用媒体服务的直播功能,会发现有时候会有较大的延迟,而延迟的产生和客户端以及推送软件的配置也有关系,本文以Wirecast为例进行分析

  • Encoder导致的延迟:在编码这一步骤的时候,它会消耗机器大量的CPU以及内存资源,如果您执行wirecast的那台电脑性能较低,这会导致较高的延迟;同时编码本身也是需要缓存数据并对其整理的过程,这一步本身也会产生延迟的。
  • 网络延迟:摄入数据那段的带宽是可以支撑将所有的比特率请求,如果带宽不够,这也会导致一定的延迟。
  • 处理采集的信息在内部的延迟:对于服务器来说,这个延迟是必需的。默认情况下,媒体服务通道配置接受每2秒一个关键帧的数据,而动态打包技术针对 HLS 输出采用 3 比 1 映射配置,也就是说,如果输入每 2 秒一个关键帧配置的数据,HLS 输出部分将是 6 秒(3 * 2 秒)
  • 客户端相关的延迟:在播放的时候,客户端都会先需要几秒钟缓存一些数据,基本需要5秒左右的时间。
  • 客户端的带宽:最终用户在观看的时候,如果本地带宽不佳,也会造成比较大的延迟

关于如何降低延迟,后台团队也有一些建议如下:

  • 经过测试发现,使用MPEG-DASH比Smooth Streaming以及HLS的延迟都要低。
  • 建议修改wirecast的相关参数,在您编码的配置界面,修改Frames per second和Key Frame的数值,使其关键帧的间隔降低(默认是2秒,Frames per second的含义是每秒帧数,Key frame every的含义是每隔多少帧插入一个关键帧)
  • 参考文档

最新文章

  1. asp.net signalR 专题—— 第四篇 模拟RPC模式的Hub操作
  2. 【hihoCoder】1033: 交错和
  3. 2016HUAS_ACM暑假集训3F - Jungle Roads
  4. HDU 2795 Billboard(区间求最大值的位置update的操作在query里做了)
  5. shell的比较运算符
  6. Spring 在web 容器中的启动过程
  7. 说说lambda表达式与表达式树(未完)
  8. 解决vs2015使用fopen、fprintf等函数报错的问题
  9. Cookie中的三个容器request,session,application的设置和获取
  10. Android修改XML文件
  11. css table 布局
  12. strutsprepareAndExecuteFiter
  13. python爬虫之PyQuery的基本使用
  14. 【转】XSHELL下直接下载文件到本地(Windows)
  15. git杂记:忽略ssl认证
  16. causal snps | causal variants | tensorflow | 神经网络实战 | Data Simulation
  17. Centos7防范SYN
  18. CSS3标签显示模式
  19. Scribes:小型文本编辑器,支持远程编辑
  20. 用MyEclipse JPA创建项目(二)

热门文章

  1. Linux开机后 systemd 自动启动 ceph osd mon进程
  2. 54B
  3. EF(Entity Framework)发生错误”正在创建模型,此时不可使用上下文“的解决办法。 正在创建模型,此时不可使用上下文。如果在 OnModelCreating 方法内使用上下文或如果多个线程同时访问同一上下文实例,可能引发此异常。请注意不保证 DbContext 的实例成员和相关类是线程安全的。 临时解决了这个问题,在Context的构造函数中,禁用了自动初始化:
  4. 【转】Apache的Order Allow,Deny 详解
  5. Day_6作业_模拟人生
  6. cmd 利用IE打开网页
  7. 安装Mysql提示1045错误解决方法
  8. C#皮肤制作
  9. 使用dnsmasq来提升CentOS上网速度
  10. Cannot convert value of type [java.lang.String] to required type [java.util.Date] for property 'xxx': no matching editors or conversion strategy found