00:07
大家好,我是腾讯云音视频的技术导师兰玉龙,今天跟大家分享直播相关的技术以及行业应用。腾讯云音视频的直播最早基于QQ的音视频能力开发出来的产品,至今深耕音视频领域超过20多年,积累了丰富的音视频和海量的服务技术。下面我将由浅入深的给大家介绍一下音视频直播的基础概念以及技术趋势,以便大家理解和更加方便的使用直播能力。数据显示,2020年网红直播用户规模达到6.1亿,网红直播使用率达到62%,呈逐年递涨趋势。直播从最早的垂直领域产品发展到遍布各行各业,各行各业纷纷利用直播来提升产品功能和体验,我们耳熟能详的。
01:07
虎牙、斗鱼、快手等,这些成为行业翘楚,培养了无数的网络红人,很多偏远山区的产品也得以有平台方便的展示和售卖。除了垂直领域,在电商、泛娱乐、办公协同、教育、财经、体育等各个行业都能看到直播的重要应用,广泛为各行各业作用。在视频直播的场景中,有两个基本的分类,一类是重视视频实时互动体验的互动直播,譬如腾讯会议、企业微信视频等。这类视频应用重沟通,需要超低延时种音频画质相对没那么重要,因此需要用极致的技术手段对抗抖动,降低延时,传输技术站也都是自定义的私有化协议使用,这类产品需要集成SDK。
02:07
是备平台的私有协议,同时使用超低码率也应对多个与会者的视频。另一类就是传统意义上的直播,这种直播观看人数多,画面画质要求清晰,有时声音就显得不那么重要。譬如足球赛事,这类直播要求观看方便,画质清晰,所以技术站往往使用广泛支持的标准协议,容易接入,使用门槛低。腾讯云直播属于第二种。当然,随着技术的发展,现在两种产品没有严格的界限,两边的技术都互为所用,极致的产品既是方便沟通,又有好的画质,又容易使用。而在有限的资源和场景下,产品也要能满足核心诉求,也尽可能满足其他的体验。那云直播的基本流程是怎样的呢?云直播又是怎样运作的呢?我们把云直播分为两个界面,客户能看到。
03:07
呃,用户界面和用户看不到的云端界面。用户界面包括直播推流和播放使用的手机APP、开源推流工具、播放的APP和浏览器等,还包括云官网看到的云直播控制台。云端界面包括对视频流进行加工处理的原站服务和做分发的内容分发网络,也就是CDN。直播提供服务的方式就是把用户界面和云端界面连接起来,那客户的视频就可以用云端的直播服务了。那云直播是怎么和客户界面对接上的呢?其实很简单,云端的输入和输出为每个客户提供两个域名,一个推流域名和一个播放域名,客户也只用申请两个域名,用域名C类名的方式对接上,那推流就可以推到云端,观众就可以通过CDN观看,而通过控制台和API。
04:07
就可以控制云端的流的加工处理方式和查看主播和观众的数据。一个简单的云直播流程如图所示,主播通过APP或者开源推流软件,以标准的RT协议把视频数据推送到云端的远站,远站根据客户的配置对流进行加工,然后分发给内容分发网络,供观众拉取观看。从接流到播放都可以用开放标准的RTMP协议完成。各平台和开源社区有很多支持这种协议的软件,主要是早期的浏览器使用flash插件后能直接使用这种协议播放视频流,也催生了各个平台对RTP协议的支持,但随着H5技术的普及应用和直播的爆发,以及RTMP协议和flash自身的局限性,RTMP协议不足以。
05:07
满足大家的需求,各种私有协议和播放协议百花齐放,就播放协议来说,用的比较多的是FLV和HLS协议,FLV主要使用在播放端,使用HTP协议,传输简单,穿透性好,延时和RTP差不多,而且LS有浏览器内置,支持普及信号通过CDN分发,命中率高,节省成本。前面说了直播基本的流程和协议,简单的直播并不足以为广大客户提供有竞争力的服务,所以腾讯云音视频开发了丰富的功能以及加速服务,也对应了复杂的架构,在云端提供的各种录制、截图、转码等媒体处理能力,海量的CDN资源和加速策略,解决流畅度问题,应对各种突发。同时。
06:07
提供控制台、API、回调等丰富的控制工具,在终端上提供覆盖各个平台的SDK,方便集成使用。商业化的云直播是个复杂的系统,那腾讯云音视频又有什么技术优势呢?侧重于分发能力的腾讯云音视频首先要解决的是海量并发的问题,解决海量并发问题的核心是分制。云直播系统的设计思想一开始就是利用分支的思想设计实现的,首先对于一个区域或者几个地区设计一套相对完整和独立的直播源站,具备直播全部能力。抽象出来就是流接入集群负责承接流,数据转码集群负责流的加工处理,状态集群负责维护流接入和流处理任务的状态,调度集群则负责业务的逻辑和调度分配。
07:07
相关工作,这样就形成了一个完整的小直播远站,然后以此系统作为一个set,在各个地区搭建多个set set之间再通过状态同步,这样在国内多个地区以及海外多个国家之间就能互通起来,共同承接海量的客户。即使set之间互通的专线出现了故障无法互通时班set还能完整set区域内的推流和播放能力,将影响控制到最小。架构上具备赛平行扩容的能力。在资源上,腾讯云储备了海量的云资源,服务器和带宽随时申请随时获取,再利用腾讯云的容器服务平台将模块全部容器化。实现根据负载自动伸缩容,这样架构上支持平行扩容,资源上海量储备自动伸缩容,应对海量突发游刃有余如虎。天翼云直播的另外一大特点是模板化设计,前面说了,只要将自己的推流域名和播放域名与腾讯云直播的推流和播放域名对接上,就可以使用腾讯云直播了。但是云直播的配置非常多,推流、播放、录制、截图时宜转码等各个功能都有许多配置选项,推流有健全密钥、有效时间配置,录制有录制类型、存储地址配置等等。
08:44
有的配置需要对账号下所有的主播生效,有的希望只对某个具体的主播生效,这样怎么组织容易让用户理解是个大问题。云直播参考了大数据指标,系统采取了维度加模板的设计思想,功能的具体配置参数。
09:04
集中到一起配置后,保存一个功能模板,模板可以挂载到你希望生效的维度上,譬如你希望这个模板配置对A域名生效,就可以在A域名下挂载,跟模板就可以生效了。不同的域名可以挂载相同的模板,容易理解,操作简单。如果说一个行业的特殊协议谁来实现它能使收益最大化?无疑这个角色应该是云厂商,因为云厂商服务最多的客户。为了方便客户接入云平台,腾讯云音视频多协议平台支持了多种推流协议,包括RTMTSRTPTS外包RTC等等,还提供s r t quick等多种加速能力,以及客户端SDK,用户可以自研,也可以使用我们的SDK实现快速的接入和视频传输加速,当。
10:05
那这些接入协议我们还在继续丰富。开源推流工具OBS深得广大主播喜欢,就是下载安装使用比较麻烦,我们推出了云端OBS,直接在浏览器上通过鼠标操作,就能支持摄像头采集推流、屏幕分享推流和本地文件推流,推流参数和地址自动生成填充,大大降低推流门槛。其次还支持云端推流。将任意云端文件以自定义的方式推流,譬如将一个文件循环推流,或者将多个文件顺序推流等等。任务配置简单灵活,支持丰富的拉取协议,这个功能将不易判断状态的持续事件变成一个瞬间事件,非常方便推流、测试、离线视频直播等自动化操作场景高清低码率一直是视频的追求的方向,在不降低质量的情况下,降低视频码率既能节省存储空间,还能降低传输成本。在此方向上,腾讯自研了极速高清产品,其基本流程是先通过机器学习对视频场景进行识别分类,然后针对场景做前处理,提高画面清晰度和去除噪声,接着利用感知编码技术识别重要区域,输送到自研的高效。
11:37
编码器通过多个维度的视频度量和用户反馈来衡量结果,并反馈到整个视频链路中,不断的调整参数,积累效果。视频预分析阶段主要做场景识别和噪声分析,识别出秀场、游戏、体育等场景噪音类型,区分出编码引入的噪声和图像噪声。
12:03
在前处理阶段,支持CPU加速和GPU加速,通过3D NRVBM3d CDEF等去噪算法去除图像噪声,通过AI算法去除编码引入的毛刺、尾引等编码噪声,利用插帧、去划痕等多项措施使画面清晰平滑,通过AI识别感兴趣的区域,然后利用感知编码技术将比特放在重要的区域来提高光感,最后通过自研的高效编码器达到低带宽、高清晰度的效果。腾讯内部多个事业群共建研发了H264H265多个编码器,在2021年msu世界云端转码大赛中。自研编码器夺得了质量速度、质量价格两项第一,视频云支持目前市面上的主流视频编码标准,腾讯还是AV标准的发起成员之一,并且在积极参与AV two的标准定制。腾讯在国内推出了第一个H266编码器VVC拥有超过100多项编码专利。在相同主观质量下,相对上一代编码器编码码率能再降低50%,基于极速高清技术下的视频流,相同主观评分下能降低30%的码率,同码率下主观评分能提高20%以上,世界杯直播采用极速高清后,同等质量下码率降低50%以上,相当于节省了一半的成本。
13:55
该技术也受到了国内直播top客户的广泛使用和欢迎。在直播中,延时虽然不是第一位的,更低的延时无疑给人更好的体验。
14:09
HLS一直被人诟病的就是他长达几十秒的延时,当隔壁的电视已经在欢呼庆祝进球的时候,你的直播还在发球。在DNS上,腾讯云音视频实现了是map和LHL协议,通过将原来的大分片改为小力度的分片,并提前生成索引,下发即将生成的分片地址。采用分块传输等技术,降低等待和传输的延时,接近FLV的延时并不是直播的极致,在实时音视频技术中,延时能做到400毫秒以内。借鉴实时音视频技术,腾讯云音视频推出超低延时直播产品,快直播及延时低于一秒,非常接近实时音视频。该超低延时直播产品在电商秒杀、在线教育、秀场直播等场景中大受欢迎。超低延时直播改造的关键流程在CDN和客户端之间,对CDN和播放器的交互进行了改造,首先对BRC的进行改造,Web DC的需要进行TP连接,S和DTS交互完成后才能进行音视频数据传输交互需要多个R、多个协议,来回过程冗长,针对整个。
15:36
交互过程快。直播首先使用udp交互,减少TCB的握手耗时。针对直播场景不需要加密穿透,所以去除了DTLS,精简STEM,将SDP和合并发送。SDP和的文本协议也是比较大的,传输需要多个RDT使用二进制压缩替代了文本协议,将10K的SP文本压缩到300比特,在一个RTT内完成,在答ST同时就开客户码后的D次就进行,大大降低首帧的延时。针对数据传输的过程也进行了深入的分析和优化。由于直播视频流的特性,I帧相对于逼帧,逼帧要大的很多,在遇到癌帧的时候,数据发送发生突发,可能引起链路的丢包和重传,从而造成延。
16:36
其次,对于音频I帧、P帧、B帧进行分优先级传输,在编码不够的情况下,优先传输音频和I帧,保证基本的观看体验。第三,在低丢包情况下使用A触发快速重传,在高丢包情况下,A可能也无法正常工作,此时使用flex fec纠错编码进行数据恢复。除了以上的优化,超低延时直播还在追gett buff SDK封装、转码速度等多个方面进行了深入的优化,以获得超低延时和好的流畅度。快直播不仅仅优化了web r DC传输的过程,还扩展了原生web r DC的能力,使其支持A音频,支持H265编码,还能透传私有数据,支持双向预测帧等多个原。
17:36
所具备的能力,能和标准的直播无缝对接,无需音频转码,大大方便直播场景的使用。通过实测超低延时,直播的延时能达到200毫秒,平均在300到500毫秒左右。基于腾讯云音视频系统丰富的能力和极致的体验,我们可以组合出很多新的产品,新的玩法。云导播台就是一种以游戏比赛为例,比赛视角解说员选手视角有时候需要显示在一个画面上,有时又需要切换其中的一个视角,导播台就能方便的完成导播。画面的背后是导播台的控制台输入区域,能将各路原始的视频收集上来,通过画中画的画布将画面进行按需组合,然后输出到浴间观看效果,效果OK后再输出到主间推出给所有的观众观看。通过。
18:36
点击切换输入的源的方式,能很好的切换选手视角,引导步态的底层就用了接流能力和流处理能力进行画面叠加和切换,形成要给观众展示的画面,推流到云直播,进行海量的分发和录制。第二个云转推功能,基于自定义的云转推,极大的方便了离线视频转直播的实现,能通过控制台配置实现会议视频的定时直播,实现赛事的循环直播,一些客户还用来实现电视剧24小时自动轮播,还能完成一路直播,同时分发到不同的应用中,也能完成自助的录制,直接将视频流拉过来存储到自己的云存储空间。这些操作不需要专业的视频知识,通过web控制台配置就可以完成。还有另外一种玩法,就是基于直播的连麦,实时音视频实现的连麦好处很明显,低延。
19:36
是高封装,缺点就是私有协议需要集成SDK协议比较复杂,难以自定义。基于标准协议的连麦采用标准的RTMP协议,主播端和连麦端通过RTP从最近的接入点拉流,实现DS连麦互动,两者的在云端混流,完成面的叠加,叠加后的经过CN分发给观众,既能支持DS的连麦,还能利用CDN完成海量用户观看,成本低,接入简单。云时代从来不是单打独斗,单个pass产品也很难形成优秀的C端产品。腾讯云四立方推出四立方SDK腾讯云音视频推出四立方SDK,一次接入,具备全套终端能力,无缝对接,美颜特效、实时音视频互动、直播点播、视频剪辑等,Pass平台集成方便大。
20:36
小可控,一个完整的C端产品也往往需要多个能力组合,以小程序直播卖货来说,SDK或者直播插件完成基本的主播介绍商品,直播与客户的聊天沟通、点赞弹幕的能力,通过集成即时通讯I'm完成商品展示、下单交易,通过云点播、云函数和云数据库完成云点播的录制回放,让主播不在线也能七成24小时的介绍商品。同时丰富的云上S和pass平台产品能按需采购,账号互通,内网互访,即成即用,大大降低开发成本和运营成本。最后欢迎大家使用腾讯云产品,我们也真诚的希望知道您的使用感受和意见,谢谢大家。
我来说两句