实时音视频技术全栈攻略|寻找 C 站宝藏
目录
前言
这两年由于疫情的影响,很多公司和企业开始被迫采取跨域或者异地办公的工作形式。因此,实时音视频技术又迎来一次飞速发展的机遇。特别是视频会议行业,市场出现了爆发式的增长。如果你打算进入这个行业,那么,今天这篇文章介绍的内容或多或少都会对你有所帮助或者启发。
正文
和学习其他知识一样,如果你想现在学习音视频技术,那么一定也会面临应该学习哪些知识,哪些方面的技能等选择问题。
今天我们就从实时音视频技术的整体技术架构的角度出发,讨论分析我们应该如何学习实时音视频技术。
首先,我们需要了解音频和视频的基础开发知识。
如果想要了解关于音频和视频的基础开发知识,可以参考这篇技术专栏《音视频开发》。该专栏从音频篇、视频篇、协议篇、实战篇等角度分别介绍了一些比较常用的音视频知识和开发技巧,以及实际开发过程中遇到的问题的解决方法。非常推荐大家阅读,另外该专栏还在持续更新中,以后的内容会更加的丰富和充实。
其次,我们需要了解客户端。
我们以视频会议的使用场景为例,当我们想要进行视频会议行为的时候,必须要通过视频会议客户端,也就是音视频内容的采集端和渲染端。介绍客户端的话,涉及到的实用端会非常多,因为使用场景的需要,我们可能要支持 PC 客户端(windows,mac OS,linux),PC web,移动端(安卓、iOS),手机 H5,小程序,TV 盒子(常见的是安卓盒子)等终端。
其中,PC 客户端的话,如果想快速上手,比较推荐使用 Electron 作为跨平台方案,大家可以参考技术专栏《Electron实战》,当然,如果你有需要,打算深入了解 Electron 底层的话,还可以阅读技术专栏《Electron高级》。新手学习的话,不建议订阅该专栏。因为该专栏涉及的内容属于 Electron 底层原理部分,除非你需要私有化编译 Electron 源代码。
另外,我们需要了解服务器。
当客户端满足了我们的需要,是不能够单独工作的,还需要和服务器配合,特别是流媒体服务器。和传统服务器不同,音视频数据传输需要依赖特定的流媒体服务器,其中涉及很多音视频特定的流程和处理逻辑。流媒体服务器会涉及到很多流程,比如云转码、云端录制、MCU 混流、SFU 等,感兴趣的话,大家可以参考技术专栏《流媒体服务器》。
说到实时音视频技术,不得不提的就是 WebRTC,可以说 WebRTC 是实时音视频领域最热门的技术,大多数音视频公司都是基于 WebRTC 技术实现的实时音视频通讯。如果想要了解 WebRTC,可以阅读专栏《WebRTC工作原理精讲》。
结尾
本文介绍的内容基本上涵盖了学习音视频技术的主要内容,从客户端到服务器,从音频到视频都有详细的基础知识介绍和应用场景介绍。对音视频技术感兴趣的话,就请关注我——Data-Mining,别名 liuzhen007,中国邦德,一个敲代码的邦德,对音视频技术和 WebRTC、FFmpeg、Electron 等开源框架有深入的了解。我会不断分享更多音视频知识和技术,在音视频技术道路上一起加油,奥利给!
版权声明: 本文为 InfoQ 作者【liuzhen007】的原创文章。
原文链接:【http://xie.infoq.cn/article/458ebea04f7378aa4cded9e7d】。文章转载请联系作者。
评论