学习多媒体开发的正确姿势?陈功:看书 啃代码 搞插件

2021-09-01 09:50:17 浏览数 (1)

陈功说,要想学好多媒体开发,首先需要兴趣,接下来还需要好的方法。LiveVideoStack邮件采访了声网Agora首席WebRTC架构师,畅聊了自己的成长经历,WebRTC的演进趋势等。陈功表示,WebRTC的未来值得期待。

策划 / LiveVideoStack

LiveVideoStack:陈功你好,能否简要介绍下自己,包括目前的主要工作及关注领域?

陈功:我是声网Agora的工程师,WebRTC方向的技术负责人。加入声网之前,在两家半导体公司Marvel和Intel工作过,从事多媒体,音视频相关的工作。目前的工作主要在实时音视频通信,音视频传输质量优化,以及WebRTC协议方面研究,比较关注的领域还包括AI算法在音视频方向的应用。

LiveVideoStack:从Marvell到Intel,再到声网,您似乎一直围绕音视频技术领域,是哪些内在和外在的因素促成了这一结果呢?

陈功:这个更多的是个人兴趣,在研究生阶段,我的研究方向是模式识别,涉及到视频内容分析的研究,当时就对视频比较感兴趣,工作以后接触到多媒体框架的开发,以及音视频传输和转码,觉得在这个领域有很多的方向可以学习研究,比较有趣。我加入声网,也是因为当时它是全球第一个聚焦高质量实时音视频的PaaS平台,在音视频传输质量这块,通过优化传输算法提升QoS,不断改善实时通信。直到今天,我都觉得这点很有意义,也很有挑战。

LiveVideoStack:采访了不少多媒体开发的“大牛人物”,他们大多都是科班出身,在导师的带领下经过了系统的训练和研究。而对于没有这样经历的开发者而言,如何能够快速上手,并不断做精?对此,您有哪些建议。

陈功:对于开发者来说,最重要的也是要有兴趣。多媒体开发涵盖的内容很广,音视频采集,编解码,传输,前后处理,播放等等,每一块都要有知识储备。如果要快速上手,建议先找多媒体技术应用的书籍来学习下基础概念,然后从开源的多媒体框架入手,比如gstreamer/FFmpeg,啃一些代码,写一些插件,逐渐熟悉整个多媒体处理流程,并从中找到自己的兴趣点,进行深入研究。如果对音视频传输,或者音视频处理技术有兴趣,还可以关注一下WebRTC,分模块进行学习,比如传输相关的模块,包括带宽估计,拥塞控制;比如音频的几个信号处理模块,都是具有一定技术高度的实现。

LiveVideoStack:WebRTC 1.0定稿,迈出了非常重要的一步。在此之后,WebRTC还要解决哪些问题,重点的改进方向有哪些?

陈功:历经6年的长跑,WebRTC 1.0定稿确实是值得庆祝,而Apple的加入,也让这个定稿显得更有意义。各个浏览器厂商的支持,让WebRTC有希望在所有平台和端上铺开音视频通信的能力。展望WebRTC 1.0之后的改进路线,还要从认识目前应用中的问题出发。连接建立和可用性一直是WebRTC的痛点,包括ICE的建立时长问题,即便是更新到Trickle ICE,相信WebRTC还会在交互连接建立协议上持续改进;对于SDP的强制支持使得易用性上有所欠缺,在Object RTC协议中已经摒弃了SDP,这可能是一个改进方向。在视频编码器的选择上,需要解决各个端对于H.264/VP8的支持情况不同的问题,这会影响到互通质量,是否会加速AV1的推广;另外,需要增加更多的视频支持,包括全景,3D,以及虚拟现实的视频。

最后,不得不提的是QUIC在WebRTC中的应用前景,从之前的WebRTC工作组会议上的讨论来看,将来采用基于QUIC的媒体传输也是有可能的。

LiveVideoStack:能否介绍下,您和您的团队正在(WebRTC)做哪方面的工作?

陈功:WebRTC一直是声网的战略方向之一,我们团队在WebRTC领域主要有几个方面的工作,首先肯定是质量优化,通过优化WebRTC应用于服务器端的能力,着力提升音视频传输的质量。针对不同的应用场景,进行传输策略的调优,包括弱网对抗,码率平滑等;另外,将我们优质的音视频通信能力,以WebSDK的形式更易用提供给开发者,适配各种浏览器和终端接入体验;最后我们非常关注WebRTC关键模块的持续改进,持续做研究性的工作。本次WebRTCon上,我也会分享声网我们团队在WebRTC上的一些心得和实践,比如我们服务器端和传输能力与WebRTC的深度结合。

LiveVideoStack:尽管WebRTC让多媒体开发门槛进一步降低,但开源项目必然受到各种牵制,社区不可能为某个特定的场景实现功能、甚至优化。因此,企业不得不在开源的框架下做许多改进、优化,这就导致企业版与社区版fork的情况,将大大增加企业维护分支的成本。您如何看待这种两难的境地?如何做好平衡呢?

陈功:大型的开源项目不可避免的都会有这样的问题,同时将WebRTC应用于不同的垂直领域,也是一样。简单的说,音视频通信和直播,就是两种不同的场景,对于延时,画质,流畅度等关键指标的要求也有差异,这时候就需要针对场景调优。企业在开源项目上的二次开发,比如需要在特定模块上进行修改,要做好关键模块的差异化管理,定期更新base版本,维护好patch list。当然,WebRTC的模块化代码有时候改动很大,比如jitter buffer,比如带宽估计,企业可以根据自身需要决定更新的周期。WebRTC技术还需要加强服务器端的能力,保证QoS,或者对企业来说,在现阶段也可以考虑直接使用做过优化的第三方平台SDK平台。

LiveVideoStack:这几天在西班牙世界通信大会MWC上,5G成为热点。你如何看5G技术给多媒体生态带来的红利?

陈功:5G能给我们带来什么,确实是当前一段时间讨论比较多的话题,低延时,高性能,这些指标如何能影响生态,影响业务模式,都在不断探讨中。我个人基本持理性的乐观态度,5G会消灭图文的说法,有些夸张,但是移动视频内容的推广肯定会有阶段性的飞跃,或者说二次飞跃;用户会更习惯与随处可得的,更丰富的视频内容,像是基于全景,3D视频的赛事直播,AR/VR的游戏互动,这些内容都有可能出现在移动终端上。

LiveVideoStack:如果让您选择几个关键词来预测2018年多媒体开发生态的热点,您会选择哪几个?

陈功:AI肯定是一个热点,多媒体与AI的融合有很多的可能性;另外,在多媒体传输方面,QUIC会是一个热点;WebRTC本身也会是。

LiveVideoStack:展望未来,你认为多媒体技术在哪些场景或行业有机会重度使用?

陈功:泛娱乐应用、游戏、教育、直播等已经是广泛采用的场景和行业。在更传统金融、安防、企业通信等领域应该也会有更多场景出现。我个人比较乐观的认为,多媒体技术一定会成为很多行业的标配。

0 人点赞