这两年互联网领域的一个热门关键词就是视频直播,从刚开始的游戏直播和秀场娱乐开始,现在各个行业里都植入了直播元素。网易云一直致力于给大家提供更好的视频服务,这篇文章聊一聊视频直播的几个关键技术:

 清晰度 4K、1080p、720p,这些概念被各大电视机厂商炒作了这么多年,已经地球人都懂了。4K在互联网视频直播里现在还不普及,主要是对网络数据传输要求太高了。1080p在一些对清晰度要求较高的场景如游戏直播里已经慢慢普及,要求的数据传输速率大约在4Mbps左右。720p是现在直播的主流清晰度,速率大约在1Mbps左右。在一些要求不太高的领域,还会有540p或者360p出现。

流畅度 如果在直播时出现卡顿、转圈,就意味着不流畅。主播和观众的连接通道好比一根水管,流量是有限的,因此如果清晰度提升意味着观众收看直播的流畅度有可能会下降。

延时 视频直播都是讲求互动性的,如果跟秀场妹妹聊天,讲了半天都没反应就略坑爹了。但是延时也不全是坏处,适当的延迟意味着在观众端能够有一定的视频流数据缓存,当出现网络不稳定时能够抵御小范围波动而使得观众无感知。

首屏时间 当观众进入直播间算起,到出现第一个主播画面的时间叫做首屏时间。为了保证直播流畅,会缓存一段数据之后再开始播放,但这个也不是绝对的,后文会详细描述。

所以,最后来总结一下这几个指标间的关系。

接下来我们会详细描述一下整个视频直播过程,视频流数据是如何在主播发送端、CDN、观众播放端之间流转的,而在技术上我们又可以做哪些事情来保证用户收看体验。

1.      首屏秒开

先从观众进入直播间那一刻说起,这相当于整个直播生命周期的开始。当进入直播间后,播放器会向CDN请求数据。此时,假设主播已经发送视频流数据到了第100帧,由于数据传输的一些延时,CDN端最新收到的数据可能在第90帧。当CDN接收到拉取视频流请求时,他会做一件非常有意思的事情,即往前回溯一段数据,在图中显示的是回溯2秒钟,那就到了视频流的第五帧。CDN会把第五帧开始往后的数据,通过RTMP或其他直播协议源源不断的发送到播放器。那为什么要往回2秒钟呢,这可能算是目前视频直播技术中一个比较有特点的技术优化,能用于很好地平衡流畅度和首屏秒开时间。具体运作机制我们接下来再看。

2.      流畅播放

接下去发生的事情,很好地可以说明回退2秒的作用。因为CDN是从第5帧开始发送数据,之后的数据全部缓存在CDN服务器中,因此可以源源不断地把数据发送到客户端,图中显示了从第5帧到50帧之间的数据,全部缓存在播放器内存中。这部分数据可以用于有效的抵抗网络波动造成的影响。当然,这样做的一个缺点是播放器相比于主播,延迟时间增加了2秒。所以说,视频直播所做的事情,就是在延时和流畅度之间找到一个很好的平衡点。

3.      网络拥塞

网络拥塞是互联网上最常见的一个情景,接下去讨论当发生网络拥塞时发生的情景。假设当观众播放到第150帧时,用户下行网络出现问题,如果播放器没有新的数据到来,必然会画面卡住并开始转菊花。而此时,主播端并不会感知到这个事情,主播还在正常推送视频流数据。在经过了大概4秒左右的卡顿后,观众端的网络恢复,数据又会源源不断从CDN流向播放器。在图中看到网络流畅时,播放器的缓存中已经存放了第280帧数据,此时当前画面是150帧。这会产生一个什么问题?因为播放器播放数据是按照每一帧的时间戳匀速播放,因此如果不做任何优化就意味着每经过一次卡顿,直播的延迟就会增加一段时间,而增加的时间和被卡住的时间是一致的。

4.      延时追赶

经过刚刚的描述,大家一定已经明白了延时累加是一个必须解决的问题。因此,播放器还需要做的事情就是延时追赶。播放器必须要实时侦测缓存中数据的情况,一旦大于某一阈值就启动延时追赶。追赶的方式,可以是直接扔掉多余数据也可以采用快进方式。快进模式相对来说用户体验会好一些,不会产生明显跳跃,处理时要注意声音不要因为快进而产生尖刺。最后再提一下,延时追赶不能太激进,还是应该在缓存中留一段数据,用于缓解以后可能再次发生的网络拥塞。

前文描述了首屏启动、流畅播放、网络拥塞、延时追赶的基本概念和每个阶段内部所发生的事情,整个直播就在流畅、拥塞和延时追赶三个阶段中来回往复。看完本文,有兴趣读者可以尝试利用开源软件自己去写个直播APP,可以拿来练手娱乐,如果要上线还有各种其他奇葩的坑。所以,最后推荐一个正确的姿势:接入网易云视频服务~~~

——【特别推荐】——

短信效果不好?试试这几招

【揭秘】视频直播关键技术相关推荐

  1. 技术干货 | 视频直播关键技术和趋势

    导读:移动互联网的兴起为人类信息传播带来了更便捷的通道.更立体的视角和更丰富的选择.视频直播等多媒体通信技术在新的时代背景下逐渐崭露头角并不断渗入到人们的日常生活中,以提高人们的信息传输效率.降低信息 ...

  2. 视频直播关键技术:流畅、拥塞和延时追赶

    这两年互联网领域的一个热门关键词就是视频直播,从刚开始的游戏直播和秀场娱乐开始,现在各个行业里都植入了直播元素.网易云信多年以来,一直深耕于音视频领域,这篇文章将和大家聊一聊视频直播的几个关键技术. ...

  3. 视频直播关键技术:流畅、拥塞和延时追赶 1

    这两年互联网领域的一个热门关键词就是视频直播,从刚开始的游戏直播和秀场娱乐开始,现在各个行业里都植入了直播元素.网易云信多年以来,一直深耕于音视频领域,这篇文章将和大家聊一聊视频直播的几个关键技术. ...

  4. 【直播 P2P】2019 企鹅直播关键技术

    企鹅电竞直播关键技术大揭秘 彭文飞 腾讯效能 2019-05-29 14:34 企鹅电竞直播关键技术大揭秘 彭文飞 腾讯效能 2019-05-29 14:34 16年壮观的直播百团大战相信大家历历在目 ...

  5. 视频通信关键技术探索及实践

    导读:2021年10月21日,「QCon 全球软件开发大会」在上海举办,网易智企技术 VP 陈功作为出品人发起了「AI 时代下的融合通信技术」专场,邀请到多位技术专家与大家一起分享相关技术话题. 我们 ...

  6. 转:分布式视频编码关键技术及其发展趋势

    1引言 当今的视频压缩编码标准,如ISO与ITU-T分别领导制定的视频压缩国际标准MPEG-x系列与H.26x系列,已被广泛应用于图像视频的各个领域,取得了较大的成功.因编码器承担了运动估计.变换.量 ...

  7. ZEGO Meetup 第二期 | 视频直播+的技术实践之道

    从2016年到2017年,视频直播行业从爆发走向成熟.2017年与2018年之交,直播行业又焕发了第二春,让人憧憬是否还有第三春. 起起伏伏的是行业的风口和趋势,稳步前进的是技术的实践之道.是采用开源 ...

  8. 视频直播+的技术实践之道 | ZEGO Meetup 第三期 上海站

    活动初心: 从2016年到2017年,视频直播行业从爆发走向成熟.2017年与2018年之交,直播行业又焕发了第二春,让人憧憬是否还有第三春. 起起伏伏的是行业的风口和趋势,稳步前进的是技术的实践之道 ...

  9. 全景视频拼接关键技术

    全景视频拼接关键技术 一.原理介绍 图像拼接(Image Stitching)是一种利用实景图像组成全景空间的技术,它将多幅图像拼接成一幅大尺度图像或360度全景图,图像拼接技术涉及到计算机视觉.计算 ...

最新文章

  1. 美多商城之用户中心(修改密码)
  2. django两个服务器之间的通讯
  3. 是‘登陆’还是‘登录’
  4. Kyma Lambda Function的GATEWAY_URL是做什么的?
  5. linux系统嵌入式编译环境,Ubuntu 12.04嵌入式交叉编译环境arm-linux-gcc搭建过程图解...
  6. Entity Framework (EF)/Linq To entity/ ESQL(entity sql)区别 ADO.NET Entity Framework:来自微软官方的ORM框架
  7. hdu2066----------dijkstra模板题
  8. Linux shell 脚本入门教程+实例
  9. iframe子页面获取父页面元素,或父页面获取iframe子页面的元素
  10. idea的tomcat实现热部署遇到的问题
  11. Spring之IOC容器
  12. android 投屏原理图,什么是投屏功能,手机投屏原理介绍
  13. 淘淘商城第105讲——购物车实现分析及工程搭建
  14. 只要3分钟免费的快速部署自己的网易云API(一)
  15. EditPlus中文版 安装教程
  16. Aras Innovator: 自定义TOC目录,Form的基本过程
  17. Interview:算法岗位面试—BAT公司问题面试之计算机基础(进程与线程的区别)、经典概率问题等集锦
  18. Time Series FeatuRe Extraction on basis of Scalable Hypothesis tests (tsfresh –A Python package)
  19. openwrt软路由实现ipv6上网配置
  20. 2019年度全国计算机等级分值等别是多少,2019清华北大等八所重点高校在各省的录取线分别是多少?19年多少分可上清北?...

热门文章

  1. C#迭代器、装箱/拆箱、重载等
  2. C/S端开发问题汇总
  3. 【算法30】从数组中选择k组长度为m的子数组,要求其和最小
  4. 我才知道wordpress还有com和org的区别呢
  5. Dusktree System (1)
  6. 完美解决ALEXA工具条无法显示或显示白框
  7. Origin一键复制粘贴,也能批量更改图片格式
  8. 超全药理学问答题汇总
  9. 忽略所有信号导致的程序Ctrl+c和Ctrl+z无法退出问题,以及信号表详解
  10. linux限制普通账号使用sftp,CentOS6.2使用SFTP限制帐号SSH连接