视频、声音、图片是我们日常生活中最常见的三种数据载体,音视频主要处理的也是这三种数据。音视频完整的技术栈是关注这些数据从产生到消费的完整流程,从视觉上、听觉上、感觉上给大家最好的体验。
- 视频、声音、图片是如何产生的?或者说如何采集的?如何保证视频的清晰度高?如何保证声音的质量好?
- 怎么保证网络传输视频、音频数据快?弱网情况下如何保证?
- 怎么以最好的体验渲染视频、声音?2D渲染、3D渲染?多声道、混音?
- 怎么解析视频、图片、声音呢?
其实上面的这些问题就是当前音视频技术中值得深挖的点?四种突破的方向,每个方向都值得去深挖,如果能在某个方向搞定这些技术点,未来发展可期。
生产侧我们关心的点是三方面:
- 如何提升视频的画质:HEVC编码、AV1编码、色彩调节、部分超分算法
- 如何减少导出视频的时间:并行编码、码率优化
- 如何将视频处理得平滑:光流法插帧
视频播放器是最场景的渲染侧的应用了,虽然播放器比较简单,但是渲染侧包含的内容非常多,以后渲染的重要性也会进一步提高。因为渲染的数据越来越复杂,从2D到3D,到AR画面等等,要求逼真、栩栩如生,就要求我们使用一些高级的渲染引擎,例如filament、Unity等等。渲染侧也有三方面需要重点关注:
- 提升渲染效率
- 降低资源占用
- 提升兼容性
分析侧和算法绑定的比较多一点,有些人可能会将它们归类到算法中,但是它们和音视频的业务结合的比较紧密,例如分析视频中的具体帧:鉴黄、插广告等等,以后音视频的应用必将是智能化的应用,所以很多的优化都和算法紧密相连,例如既可以和生产侧也可以和渲染侧结合的——视频超分,生产侧的超分会做得细致一点,渲染侧的超分就不能从整体视频的角度考虑,只能考虑视频的一部分,OpenCV中提供了很多视频和图片处理的方法,其实并不需要非常高深的算法功底,就可以做出令人惊艳的效果。
传输侧一直以来都非常火,因为音视频的本质是为了交流,你生产的音视频就是信息的载体,信息就是要被分享和处理的,所以传输是重要的一环,虽然现在的网络建设越来越好了,但是还是有很多弱网状态需要处理,RTC中需要解决的核心场景有:
- 视频超分算法
- RTC弱网对抗
- RTC质量检测
- AI智能降噪
- 音视频通话