00:00
嗯,大家好,我是腾讯云音视频导师吴浩,今天呢,由我向大家介绍一下,呃,广电级媒体数字化转型中的一些直播基础及应用。首先呢,先通过这个赛事活动线上化的一些背景,介绍一下如何提高赛事活动的稳定性,然后呢,再介绍一下播放端的用户协议,呃,以及所遇到的一些问题,最后再简介一下呃,一些场景化的创新应用。从2020年以来,疫情改变了人们的生活和工作方式,越来越多的线下活动被搬到了线上,与此同时呢,人们对于娱乐体育赛事的关注度也是逐年的增长。线上制作和直播成为了呃大家的一个核心需求。通常呢,一个完整的赛事流程,赛事现场可能是遍布全球的,那么他就需要把原始采集好的音视频信号通过远程传输的方式推送到这个制作中心,然后经二次制作后,经由云那个云端服务进行媒体处理,呃,封装以及分发,最终呢才能触达到观众端的播放器上。
01:08
因此,整个电路的稳定性和质量成为了关键。那么接下来呢?从两个方面来介绍一下这个赛事直播的稳定性,呃,一个是前面提到的这个现场传输的一个网络问题。其次呢,还有一个就是这个云端媒体原站如何提升这个稳定性。呃,我们经常会遇到一些现场的网络问题,比如说网络切换,那么它容易发生在一些公共场所或者运动场景下,呃,比如说4G5g WiFi,其中有一个链路出现了抖动,呃,发生切换的一个问题,那么还有呢,就是现场可能呃。单一网络出现这个带宽不足的情况。还有就是在前面提到的这个远程传输的阶段,可能在这个国外网传输,可能会因为传输误码,或者呃高峰期网络拥塞,导致传输过程中有丢包出现等等。
02:02
那么媒体行业里面,呃,我们常用的流媒体传输协议其实有很多啊,大家比较熟悉的像RTMP。呃,因为它比较成熟,然后生态也做的比较良好,呃,目前还是主流的一个流媒体的传输协议,但是它呢,存在一些局限,比如说。它依赖于TCP,那么它的抗性比较差,而且RTMP支持的编码格式呢也比较有限,这些原因呢,都限制了它的进一步的扩展。呃,RTP。呃,也是广电媒体行业里面一个用的比较久的一个协议。MTS的封装呢?它其实支持的编码格式比较丰富,而且RTP借助于udp的传输,延迟相对更低。但是因为没有较完整的一个控制性比较差,往呢需要采取发的方式,比如说我们在里面通过色,或者通过SMPT20227,也就是多路用于聚合的方式进行这个发送。
03:04
嗯,而S7呢,是近些年一个呃逐渐在推广使用的一个流媒体传输协议,呃,因为其具备这个低延迟,高抗抖动性,不断的成为了主流的这个媒体协议。而且它自身所带的多乐复用,多路镜等等一些呃,比较好的特性呢,也使其目前成为了大型赛事的一个首选的一个成熟协议。呃,不足的地方呢也有,主要是在于其用势控制比较弱,因此呢,它往往适用于一些在呃这个传输带宽比较充足,它是网络可能存在抖动的这样的情形。那么呢,其实严格来讲,其实是属于互联网呃,应用场景的一个传输协议,在广电媒体行业里面用的不多,因为它的开源以及外部的生态做的比较好,呃目前也是作为了ATP3的一个标准。呃呢,也是近些年逐渐兴起的一个基于RTP和RTCP的一个流媒体协议。
04:06
因为其具备低延时、高抗抖动性。呃,也是做的比较好,但是呢,呃,因为成熟的原因,目前相对于前面的一些其他的协议呢,使用量比较小。电媒体行业其实除了这些公网传输的协议,其实还有一还有一些是属于那种呃,局域网传输的流媒体协议。比如像N。呃,SD10等么们一些点,主要是呃,可以传输一些缩缩一些音视频信号,比如说这个ST2110所传输的J叉S,那么它只采用了这个针对预测,因此它的这个压缩率比较小。呃,那么这些特点呢,其实呃更多于是在这个局域网内传输,呃,因为他们的传输带宽成本比较高,也限制了他们在公网传输这个领域里面的一个使用情况。
05:05
那么针对于这个直播流媒体的一些特性,我们需要做哪些优化呢?首先是这个链接机制上面。啊,比如说支持这个0T的链接,加快这个链接效率,其次呢,还有一个就是在这个重传机制上面。通过精确的RT的测量,可以调整这个间隔。呃,并且呢,丰富重传机制,以及呢知适应去调整这个乱序容忍度,我们知道乱序是可能会引引起冲传的,那么。当网络波动的时候,那么可能这个乱序度,呃,可能会有变化。所以我们需要有一些机制能够自适应的去适应,去调整这个耐性容忍度,从而呢减少不必要的重传。其次呢,就是我们需要更好的去识别是丢包还是误码传输导致丢包。我们通常的做法呢,是通过基于RTT一个延迟梯度的一个带宽估计去判断是否真实的、真正的出现了优势,从而来进一步决策是否调整码率。
06:09
此外呢,还有一些个字,就是在一些电池优先的场景。我们需要可以设置允许允许丢包,因为我们知道。电路中的延迟其实是由这个链路中的各个模块的呃,Buffer引起的。那么我们需要在尽可能不影响观看体验的同时呢?呃,可以可选择的丢包去维持一个稳定的一个延迟,那么这是一些在一些呃,特别呃,新闻媒体制作领域所遇到的一些。呃,共性的问题。腾讯视频语音呢,也提供了一个远程传输的平台,提供了低延迟高跨的动性的能力,以及前面所提到的这些很多协议之间的一些互相的转换。
07:00
呃,除了云端的方案。也提供SDK的方式。主要是增强这个弱网下推流的一个质量问题,同时具备高抗丢包和电池的特性。在推流这一段应用了媒体传输加速的一些协议之后呢,卡顿和延迟可以得到很大的改善。除了一些基础的优化还呃,这里再介绍一下流媒体传输中一个常用的质量提升方法,就是多路传输。比如说一些场景,现场可能有多种网络接入类型。比如说4G5g或者WiFi。那么通过多路径发送或者聚合的方式,可以很好的去避免单一网络波动带来的一个影响。并且呢,在一些呃,需要高码率传输的一些场景,这种方法可以极大的扩展所需要的这个带宽上线。比如说在切换时,当单一网络出现。
08:02
断网或者是波动的时候,可以通过其他的通数据通道快速的将这个数据补上,能够达到一个平滑切换的一个效果。或者呢,通过多通道聚合发送的模式,可以扩扩展整个的开关上线。而另一种场景。比如说针对边缘地区或者户外这种场景,那么云端节点往往不能做到本地覆盖。这种呢,我们常规的做法是在推流传输前进行一个参数,然后选择一个最优,呃,最优的一个链接入点。但是这样会有一个问题,因为我们知道通常很多活动,那么它的。呃,时间会比较长,在这个过程中,网络是不断变化的。所以呢,我们需要有一个多接入点的一个动态路由策略,也就是在传输过程中,我们需要根据不同链路的一个质量情况,去动态的去调整这个发送的比例,去自适应角色这个路由。
09:11
嗯,收到了。媒体传输上面。呃在还有一方面就是这个媒体源站,我们也需要提高稳定性,那么一方面呢,呃通常会采用比如说勇于多路镜河流的方式去针对呃真级别。纠错。但是这里面会有一个问题,就是。哦,这这个标准呢,它是基于发送端,是同一个编码器推出来的。因此呢,我们还需要去处理不同编码区的一个融合问题。我们通常的做法是基于时间缩和GP力度做一个平滑的切换,来处理在不同编码源之间切换的一个平滑问题。还有呢,就是在断流期间,我们也可以上传,呃,插入一段静态的图片,甚至是一个提前上传好的一段广告,比如说这这种图片。
10:05
来去优化观众端的一个播放体验。而在媒体分发阶段,呃,通常我们需要结合链的一个可量化的一个质量指标去动态的调整链。啊,并且呢,可以根据历史的。统计信息去调整静态的一个覆盖策略。而且呢,呃,特别的一点就是在重要的一些活动中,往往需要采取这个多回源跟分发的模式,因为我们的切换它是会有一个过程的,就是你感知到这个质量有变化之后,然后再去切换,那么这实际上会有一个时间损耗。那么通常采取这个多。会员和分发的模式呢,可以减少这个切换的时间。接下来呢,再简单介绍一下这个流媒体常用的一些播放协议。
11:00
啊,用户。播放端的协议其实有很多,但是总体的来说的话是分为三类,最常见的像2000BFLV这种连续流式。他们呢,可以做到较低的延迟,但是他们有一些问题,比如说呃,编码格式支持的比较少,扩展性比较差。而且呢?这两个协议在多码率,还有甚至说多轨这种。呃,场景下是支持不了的,或者是说需要一些私有化的改造。即便是比如说A线和代性能很好的去解决了这个可扩展性的问题。但是延迟比较高,因为他们的根本原因是因为因为像这种切片式的HS的代写需要每一个切片编码封装完之后,然后才能通过CD分发出去,那么这里就带来整个的播放延迟是这个切片力度的,而一个切片至少是一个G力度的,往往就在两秒、四秒或者甚至更高的一个水准。
12:03
因此呢,在这个背景下,D切片流媒体应运而生。像CLAS,也就是DSHS。通过分块编码和嵌传输,可以把延迟控制在两秒的级别。目前呢,比如像iOS等等也支持了CS。那么对于赛事直播这种场景,观众的网络条件是多种多样的。而且有些用户网络也经常波动。所以呢,我们需要能够支持多马力自适应,而且在多语言环境下,甚至会有一些多多音轨,多语言的需求。但是多玛尼常常会有一个问题,就是。不同马力之间的切片如果边缘不一致,会造成快进或者回退,有些播放器甚至会卡住,那么需要有一些机制可以使不同切片进行对齐。这里可以用到一个一次性欺骗的方法,就是在激流端在数据里进行标记,然后呢可以使得不同码率。
13:07
呃,在编码和封装阶段。他们的GP以及切片的边缘协调一致。这样的话就是在这个马力切换的时候啊,不会出现这个画面的。快进或者回退的现象。那么前面也提到如何做到这个低延迟?呃,传统和代写,究其原因,是因为一个分辨长度在编码和封装好后才能分发。那么这样的话就是带来了极大的延迟,低延迟的大致原理呢,就是把这个力度降到了一个更小的级别。也就是。我在。一呃,一个切片,还没有编码和封刀。呃,完之前呢,我可以先把已经编码封装好的分块,尽早的通过嵌改的方式分发出去。那么这样的话就是整个的延迟由一个切片的力度就降到了一个的级别。
14:05
其实还有一种。目前。呃,逐渐。得到广泛应用的,更低于延迟的就是基于这个外其实的一个快直播方案。那么除了优化可以优化一些传输机制以外。他还结合了一些流媒体的特性,比如有选择的,根据优先级。进行分级重传或者。优增,从而呢,能够在即使弱网下也能达到低延迟的目的。最后再简单介绍一些,呃,我们在赛事直播场景上一些比较有意思的应用,比如说在直播的基础上可以实现。统一直播和实习的请求协议和格式。这样呢,可以极大的简化这个播放器的逻辑,而且呢,比较有意思的一点是,我们可以通过AI视频内容的识别的技术呢,把赛事中的一些精彩画面通过打点的方式呃,呈现给。
15:00
用户。那么具体的这个技术流程呢?就是在这个媒体处理时,可以视频帧进行一个理解,利用深度学习和视频的分类,把识别到的事件信息通过回调的方式。推送给。客户。其次呢,在这个直播过程中,生成的切片会直接的归档存储起来。并生成时间点对应的11索引文件。那么这样呢,有个好处就是可以使得直播和时宜的切片保持一致。简化播放器的。请求格式,那么在用户界面上呢的效果就是可以实现拖拽计时仪的一个效果。最后呢,再简单说一下。流媒体里面一个,呃,常用的一个场景就是这个广告插入。根据这个插入的位置呢,一般广告它分为三类,比如视频前广告,视频中广告以及视频后广告,当然视频后广告主要是针对于点播的场景。
16:00
呃,在技术实现上呢,比如说通过垫片式的方式,可以直接把这个广告通过编码嵌入到这个视频流里面。但是这样的话,它是千人一面,就是说大家看到的广告都是一样的内容,或者呢,利用一个广电级的一个标准三五。那么这个标签呢?呃,通常在manifest文件描述信息里面,也就是比如说as的M38,或者代写的MPD这个描述里面。呃,生成相应的标签,那么播放器,呃,支持这个标准的播放器识别这个标签后,可以执行所规定的一些一系列的行为操作,比如说开始播放一段指定的广告或者停止等等。还有一种呢,就是个性化的方式,也就是说千人千面的一个效果,那么大致的做法呢,是通过在直播流里面打上一些标记。那么播放器识别这个标记之后会去请求。这个标记里面所。
17:01
带的这个广告投放方的平台接口。广告通话方呃的接口,拿到这个请求之后呢,会去根据不同的用户类型去下发不同的广告,那么最终可以实现一个千人千面的广告效果。呃,这里就是我今天所给大家介绍的一些。呃,广电媒体中的一些直播流媒体的应用,呃,感谢大家。
我来说两句