谁都知道清晰度、流畅度、延时是直播的几大关键指标,尤其是在互动直播、移动直播大行其道的当下,延时更是成为了各直播平台、CDN、直播云服务商比拼的至高点。然而,但是,BUT,你真的了解延时么?不能全面了解又何谈优化?

观止云多年来专注于在线视频技术研发与创新,踩过坑趟过水,更积累了不少经验,今天我们来谈谈直播延时及其优化办法。

一、直播延时

直播延时主要分为直播起播延时,直播内容延时。

直播起播延时:从发出指令,到显示画面,所消耗的时间。

直播内容延时:用户端播放的画面和现场画面的时间差。

本篇侧重介绍起播延时及其优化方法,后续系列文章将分为《直播内容延时和优化方式》、《直播起播延时和内容延时的平衡》两篇继续介绍内容延时及优化。

二、各类直播的起播延时

起播延时超过1s,用户能明显感觉到停顿,影响主观体验。

各种直播类型的起播延时见下:

三、各类直播起播延时的构成及优化

3.1 数字电视

数字电视采用广播方式,所有直播内容均广播到终端,数字电视的I帧间隔通常为1s以内,数字电视的起播延迟主要由本地的处理延迟构成。

  • 数字电视起播延时构成

(1)       换频点(调谐)、解调、同步TS流:100ms

(2)       PSI表读取视音频PID: 1秒

(3)       解扰100~200ms

(4)       同步视频流,找I帧进行解码: 200ms~500ms

(5)       根据视频和音频的PTS显示

  • 数字电视起播延时优化

(1)       机顶盒采用多高频头加快解调

(2)       机顶盒采用内存存储视音频PID

(为了不影响技术同仁阅读体验就不植入了,插个硬广:希望了解更多在线视频技术的同学请订阅观止云公众号,除了干货什么也没有)

3.2   IPTV

IPTV采用组播方式,直播内容均组播到楼宇交换机,用户通过组播协议来获取直播内容。

  • IPTV起播延时构成

(1)            EPG获取组播地址:几十毫秒级,可以忽略

(2)            获取1个I帧的时间:工程中编码器I帧间隔一般设为2-3秒,因此获得第1个I帧的平均时间为1-1.5秒

(3)            终端编码器重新初始化时间:由于其一般在几十毫秒级,且可以与接受I帧的同时进行,因此可以忽略

(4)            终端播放缓冲区设置:一般为1-2秒;

  • IPTV起播延时优化


(1)            换台时切换为点对点单播

(2)            媒体服务器将缓存数据加速填满客户端缓冲区

(3)            客户端播放单播数据,并同步开始获取组播数据

(4)            客户端比较单播和组播获取数据,进行单播和组播的平滑切换

3.3  OTT/网络电视直播

OTT直播指采用OTT机顶盒通过互联网观看电视直播,网络电视直播指采用PC、移动端等通过互联网观看电视节目,多采用HLS协议分发,采用CDN加速。

  • OTT/网络电视直播延时构成

(1)    DNS解析:一般几十毫秒

(2)    TCP三次握手:一般2个RTT,几十毫秒到几百毫秒

(3)    客户端发送HTTP请求:几十毫秒

(4)    服务器发送数据给客户端,填满客户端的缓冲区:几百毫秒到几秒,取决于用户到服务器的带宽条件

(5)    根据视频和音频的PTS显示:时间可忽略

  • OTT/网络电视直播延时优化

(1)    将用户调度至正确的CDN边缘

(2)    CDN边缘节点推至离用户更近

(3)    采用Keep-Alive方式获取TS切片

(4)    可多线程获取切片文件,加快文件获取速度

(5)    终端播放缓冲区大小合理设置

(都说重要的要来三遍,我们只来两遍:希望了解更多在线视频技术的同学请订阅观止云公众号,除了干货什么也没有)

3.4 互动直播/移动直播

互动直播,指主播直播,且同步和粉丝互动的新型直播形态,对比传统电视直播,加入了互动的元素,引入了观众参与。主播采用PC、手机端即时拍摄,用户采用PC、手机等即时观看,多采用RTMP或HTTP-Flv协议分发,采用CDN加速。

  • 互动直播/移动直播延时构成

(1)       DNS解析:一般几十毫秒

(2)       TCP三次握手:一般2个RTT,几十毫秒

(3)       服务器准备数据:几十毫秒

(4)       缓冲视频获取数据:几百毫秒到几秒,取决于用户到服务器的带宽条件

(5)       终端解码视音频显示:时间可忽略

  • 互动直播/移动直播延时优化

(1)               将用户调度至正确的CDN边缘直播服务器

(2)               CDN边缘节点推至离用户更近

(3)               直播服务器支持Gop-cache,支持缓存直播点之前的媒体数据

(4)               终端可快速获取直播服务器缓存数据,填满缓冲区,开始播放

(5)               设置合理的缓冲区大小

限于篇幅,本篇介绍至此,后续系列文章将分为《直播内容延时和优化方式》、《直播起播延时和内容延时的平衡》两篇继续只聊延时,不谈人生。

是网络直播延时(1):起播延时及优化相关推荐

  1. 网络直播对企业品牌的影响

    品牌传播是扩大营销范围的重要手段,更是企业实现战略目标.提高收益的重要途径.事实上,仅仅有少数的企业意识到品牌传播的重要意义,并借当前网络直播的潮流扩大品牌传播的效应.但是,由于网络直播刚刚兴起,各个 ...

  2. 运营级低延时网络直播平台建设解决方案

    运营级低延时网络直播平台建设解决方案 [简介] 这是一篇专业的运营级低延时网络直播平台建设解决方案,适合进行直播平台建设的专业人士参考. 目 录 第1章 应用简介... 3 第2章 方案的实现原理.. ...

  3. 低延时的RTMP网络直播

    互联网时代的直播需求越来越多,观看直播的人群对直播的要求也越来越高.在百度或谷歌等搜索引擎里输入关键词"网络直播延时",大家的疑问不少: ü  什么软件看直播无延迟? ü  为什么 ...

  4. 直播中那几秒延时到底来自哪?

    简介:7月16日,亚太内容分发大会上,阿里云高级产品运营专家俞翔受邀出席,并分享了基于CDN网络构建超低延时直播的场景实践.以下为演讲原文. 7月16日,亚太内容分发大会上,阿里云高级产品运营专家俞翔 ...

  5. 腾讯云低延时直播系统架构设计与弱网优化实践

    "直播带货"可能是2020年最具代表性的词汇之一,那么传统电商该如何融合直播系统,直播过程如何保障用户的最佳观看体验?本文由腾讯云资深架构师何书照在LiveVideoStack线上 ...

  6. 开源直播推流sdk_直播中那几秒延时到底来自哪?

    7月16日,亚太内容分发大会上,阿里云高级产品运营专家俞翔受邀出席,并分享了基于CDN网络构建超低延时直播的场景实践.以下为演讲原文. 近几年,直播带货已经逐渐走进大众视野.在今年上半年受疫情原因影响 ...

  7. 网络直播,如何跳出组播的坑!

    互联网上的直播,其数据传输方式都采用"单播"方式,所以大家在讨论直播技术时,少有人提及"组播"这个词. 然而,作为直播的组成部分,在广电有线电视.IPTV等应用 ...

  8. linux mtr运行脚本,使用mtr测试网络丢包率和平均延时的脚本实例

    A h4u}+XLFSj0#!/bin/bash r+Q0hW m KH0# 测试网络丢包率和平均延时,注意变量clr和cdt的赋值,不同版本的mtr对应的字段位置不同51Testing软件测试网yS ...

  9. 实时检测服务器延迟和丢包率脚本,使用mtr测试网络丢包率和平均延时的脚本实例...

    mtr(a network diagnostic tool)是一个神奇的指令,能按要求对路由中所有节点进行批量测试.简单敲一个"mtr qq.com"将会有意外收获! 当需要进行产 ...

最新文章

  1. Linux Kernel TCP/IP Stack — 网卡监控
  2. Apollo 1 融合 Spring 的三个入口
  3. 第 45 届国际大学生程序设计竞赛(ICPC)亚洲区域赛(济南)(热身赛)
  4. MATLAB数字图像处理(一)图像的基本操作
  5. DFT compiler极简示例2(使用autofix)
  6. html中实现LED字体步骤记录
  7. mac忘记mysql初始密码怎么办_Mac下忘记Mysql密码重新设置密码的图文教程
  8. 学完计算机控制系统的感受,管理信息系统学习心得体会(精选5篇)
  9. 更改Ubuntu 18.04的时区
  10. AS3动画效果公式,常用处理公式代码,基本运动公式,三角公式
  11. 【软件测试】可以写进简历的项目实战内容
  12. 计算机表示图形的几种方法。
  13. Micropython进阶小实验 如何用单片机制作鞋码匹配仪
  14. 'config.h' file not found 的解决方法以及可能遇到的问题
  15. WinEdt, eso-pic.sty not found
  16. 为My97DatePicker日期插件设置默认日期
  17. 小米手机拦截返回音设置不了_为了让自己的手机更好用,我利用了 MIUI 10 的这些功能...
  18. 有时候我们停下来是为了走的更远
  19. C#获取网络时间(初学者)
  20. Oracle 中的定时任务

热门文章

  1. 武汉大学计算机学院本科生培养,武汉大学计算机学院培养方案
  2. 一觉醒来发现Github要废弃Trending Tab
  3. 关于云ERP的前半生,贺涵总结了三个变与不变
  4. [Python中矩阵上下左右翻转(np.flip)]
  5. DVI接口详解及信号测试流程
  6. acwing 1223.最大比例(更相减损术)
  7. 零跑新车型即将上市,究竟有哪些值得期待?
  8. 从数学公式到宇宙发展 ——熵
  9. 企业级即时通讯软件,你还需要了解这些!
  10. 三星s8 android oreo,GalaxyS8和Note8的三星AndroidOreo更新的新泄漏版本