关于直播视频:你可能不知道的事——专访淘系技术研究员陈颖(1)

视频编解码&直播视频

左中括号

在研究视频编解码、标准迭代的过程中,有什么令您印象深刻/有趣的事情吗?

我觉得LiveVideoStack创造了一个很好的面对音视频从业者的社区。相关的读者多少听说过视频编码标准。不过近几年大家听到的更多的可能是标准发布之后很多晒成果的PR,不一定了解里面的过程。关于视频标准制定的工作我也有十多年的经验,里面有很多或辛酸或有趣的故事。

一个技术标准的形成是一个点滴技术积沙成塔的过程。这里至少包括有线下in-house研发和线上技术提案审核两个过程。在研发过程中,包括我在内的技术人员往往会因为两三个月开发出一个编码工具能够提升1%左右的编码效率而大受鼓舞,因为他们由此获得了加入积沙成塔的标准技术竞争过程的入场券,也就是线上标准会议中的提案审核。一项技术无论大小都要经过严苛的全方面评估才可能被接收成为标准的组成部分。而一次标准会议在一周左右的时间,需要审核的提案很多。标准编号数也从JVT(对应H.264)时代的三位记数发展到了JCT(对应H.265)时代的四位记数。

印象深刻的是为了完成对这些提案的审核,经常几十个公司的上百位专家要一起开会讨论到凌晨两三点之后。而H.264, H.265等这些标准就是我们这些参与标准技术贡献的工程师的智慧和努力所凝聚成的可供业界参照的灯塔,指导着直播、短视频、视频通话和视频会议等一系列视频应用的健康繁荣发展。当然能够把视频标准实现、应用好也是非常有技术含量且需要甚至比标准技术本身更多的投入的。

在视频编解码方面,淘宝直播所采用的S265和x265两者之间的区别、以及各自的优势是什么;S265和x265分别适用于什么样的场景?

H.265/HEVC与H.264/AVC一样是国际标准组织(ISO/IEC与ITU-T联合)制定的视频编码标准。

H.265/HEVC相比于H.264/AVC来说是下一代的视频编码标准,main profile定稿已经有八年了。大家可能知道开源的x265,它是符合H.265编码标准的开源编码器,有着灵活的编码档位配置,支持多种码率控制模型。而淘系主导自研了阿里的H.265编码器S265。站在巨人的肩膀上,S265相比于x265有一定的优势。

首先是编码效率更高,根据MSU2020比赛测试报告,S265 online档相比x265 medium 档次在相同速度下在SSIM、 VMAF以及 PSNR这三个质量评价指标方面分别获得20%、22.6%和37.8%的BD-rate收益(即同质量前提下,平均的码率节省),充分发挥了HEVC标准的潜力,更好地体现和H.264的代差。

其次,为了满足淘宝直播这样的大流量、高并发的实时应用的需求,我们做了较多的复杂度优化,提升编码速度。在快速模式下,S265相比x265 main档可提升3-4倍的速度,且依然保持一定的编码效率提升。同时,即便在慢速模式下,S265相比x265 ripping档次亦可提升10倍以上的编码速度,且编码效率不变。

再次,我们加入了一定的场景化感知能力,适配直播,点播,会议等全场景需求。比如针对RTC网络和大促流量调节的秒级码率控制,针对屏幕内容的预处理和Screen Content Coding(SCC)编码,针对会议和直播的低延时编码优化,针对商品和人脸的ROI编码以及基于场景分类的编码参数控制等。

左中括号

直播场景中的虚拟人物

左中括号

在虚拟主播大火的今天,洛天依、初音未来等也曾入驻淘宝,虚拟人物的直播需要哪些关键技术作支撑?手淘保证真人主播与虚拟人物之间流畅互动的难点是什么?淘系技术正在构建什么样的解决方案?

在商业直播场景中的虚拟人物,比如洛天依、初音未来、甚至虚拟明星、IP直播等虚拟主播背后都有不少的技术挑战,包含一系列的关键技术,比如动作、人脸捕捉,3D重建,SLAM,实时渲染,自然语言处理,TTS等。

和其它AR/VR/MR应用一样,真人主播与虚拟人物之间的流畅互动都需要极低延时的实时处理,在10毫秒级别里处理生成每帧所需的包括动作、人脸捕捉,渲染的任务,这是一个难点。其次高精度的动作捕捉和渲染也是保证体验所必须的。在智能化的语音互动方面,针对直播带货,相关的话术也需要通过对海量的电商多媒体数据、文本数据、结构化数据的挖掘处理,形成关于商品、场景的知识体系。另外一个难点是增加虚拟人物动作表情的真实感。这需要高度真实地还原材质、光照、物理运动、骨骼/肌肉运动。在微表情,口型方面也需要和虚拟主播的语言做好配合。

目前虚拟主播开播的成本非常高,需要专业的设备和专业的团队来完成,高昂的成本对于商家来说是很难承受的,也就无法利用这些新的技术去提升直播效果和经营水平。淘系现在致力于利用商家经济上可承受的方案普惠虚拟主播服务,支持采用普通的单目手机或PC做日常开播,追求让中小商家的开播成本降到最低。这方面目前我们有了一定的进展,但依然在努力。

左中括号

购物链路 & 直播同步

左中括号

在叠加了电商的“购物链路”和直播的“直播同步”的双重复杂性的情况下,淘系技术如何保证高清晰度、低延时以及购物秒杀与直播内容的同步?在重点投入哪些技术领域?

在电商直播带货场,主播推送商品,观众在线抢购商品是常态。我们可以将整个过程做到秒内延时,并且保证商品推送的消息同时到达、主播音画同步,从而保障身处不同地域的消费者都能获得平滑的观看体验、均等的抢购机会。为此我们打磨了一套直播消息系统,承担观众在线状态识别、评论、互动营销等功能。这套消息系统采用推拉结合的方式,并且用CDN作为兜底。对于大规模的消息,也采用了热点自适应打散,消息数据分片聚合、基于消息优先级的分发机制设计等一系列方法。对于一些特殊场景,消息信息也可以通过SEI融入到视频码流,实现完全的同步,提供极致的用户体验。

在更基础的高清晰视频画质和低延时体验方面,我们也在视频编码和传输技术上做出了努力。首先通过自研的S265编码器,提升编码效率,在降低CDN成本的同时,由于视频带宽需求的降低,卡顿率也相应减少。

另外,通过自研的全球实时传输网络(Global Real-time Transport Network: GRTN),淘宝直播实现了超低延时直播能力。传统直播基于HLS、DASH、FLV、RTMP等协议,延时方面有一定的历史局限。淘宝直播使用全链路RTC传输,并改造CDN结构,由中心组网改造为去中心组网,将端到端延时降低到1秒以内。RTC中传统的QoS策略得到了充分应用的同时,一些基础环节,比如拥塞控制方面我们也做了基于参数自学习的带宽预测算法,使得RTT和卡顿率都能显著降低。在业务上,这些画质、延时、卡顿指标方面的提升最终对淘宝直播的GMV有正向促进作用,这点得到了我们严格的A/B测试验证。在工程上,我们对卡顿和延时等指标有很好的实时追踪机制,确保我们及时的发现业务中的问题,并迅速迭代我们的技术予以解决。

左中括号

优势 & 规划

左中括号

淘宝直播在行业中与其他厂商直播带货相比,优势是什么?

2016年被称为直播元年,基础技术逐渐成熟,引出千播大战。而淘宝直播于2015年创立,平台的商家通过直播内容的垂直化经营缔造了一个又一个商业的数字高峰。现在,淘宝直播俨然成为商家在内容营销媒体上的第一选择。

面向直播行业而言,淘宝直播依托于手淘生态,所以淘宝直播在消费者和商家两端都保证了全链路优质的体验,既帮助商家降低经营成本、提高经营效率,又为消费者提供更好的导购、交易和物流履约体验。

直播本质上是交易和导购两种行为在秒杀级别上的结合,因此淘宝直播面临的是淘宝直播系统和包括导购、交易的淘宝电商体系两个高峰的叠加。原来的导购场景是不同的人会在不同的时间浏览不同的页面,那么整个服务器的压力是可以均摊的;而直播相当于把所有压力都集中到了同一点上。

这种复杂度的叠加,结合双十一等高峰流量场的承压,帮助淘宝直播积累了丰富的实践经验,也在不断挑战淘宝直播技术的水平,这是淘宝直播在技术迭代与创新上最大的优势。我们也将这些技术通过云化输出的方式,为企业客户和商家提供服务,比如在云上构建GRTN视频传输系统提供服务。

最后,我们有一批有技术理想的工程师,力求在音视频这个领域做最先进且和业务最适配的技术。

我们也了解到,目前淘宝正向内容化升级中,视频类内容越来越被大家所接受,关于未来直播/内容视频的技术架构发展和演进,您是如何理解的,以及淘系是如何规划的?

未来直播和视频内容方面,我们将在传输、视频、音频、音乐等方面发力,并且更加关注智能化和互动,持续升级我们淘系内容场景里面和音视频相关的用户体验。

首先我们将持续加强在传输方面的建设。从淘宝直播的初创期开始,在日常营销互动能力的完善之外,我们将RTMP+Http-FLV的协议升级至全链路的RTC,在延时的优化取得显著提升,且在抗弱网方面奠定了一定的技术优势。未来我们将打造更低成本的基于RTC的低延时P2P传输方案。

其次,视频的清晰度和带宽方面我们认为将有持续的提升空间。除了视频编码器之外,我们将重点追求整个全视频链路的端到端的优化,尤其是针对淘宝直播,逛逛里UGC水平的视频。本来,视频编码过程中的失真最小化只是整个端到端优化质量优化问题的一环。直播间光照环境,ISP成像,后处理等问题将和视频编码问题一起被联合优化,达到最优的质量、带宽和算力的平衡。围绕UGC的无参视频质量评价体系也将在其中发挥重要作用。

最后

很多程序员,整天沉浸在业务代码的 CRUD 中,业务中没有大量数据做并发,缺少实战经验,对并发仅仅停留在了解,做不到精通,所以总是与大厂擦肩而过。

我把私藏的这套并发体系的笔记和思维脑图分享出来,理论知识与项目实战的结合,我觉得只要你肯花时间用心学完这些,一定可以快速掌握并发编程。

不管是查缺补漏还是深度学习都能有非常不错的成效,需要的话记得帮忙点个赞支持一下

整理不易,觉得有帮助的朋友可以帮忙点赞分享支持一下小编~

本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

  • 5
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值