现在客户端三大技术含金量方向:跨端引擎及平台建设、APM平台建设及治理、音视频方向。
近几年随着4g的普及和5g的热演,带宽和流量问题有了飞跃的发展也促使了视频概念类应用在移动领域的蓬勃发展。本人之前在公司项目中也研究过一段时间的音视频相关技术,领域技术主要涉及音视频的编解码,渲染,播放,水印,特效,推流,合流,多路视频等技术。视频落地场景又分为直播,短视频,长视频(vlog)等。总体来说音视频的开发者有两条路可选,其一是以底层编解码算法为主的,其二是以音视频业务为主的。第一种需要强大的数学功底,门槛比较高,少数人会选择走这条路。第二条路我相信是大部份人的首选,下面我也以个人的一些经验和参考的一些学习资料给大家提供下音视频业务所需的技术栈:
平台相关性:
1.视频播放,系统提供的API控制视频的播放和暂停。学习一些开源框架,比如视频缓存,多文件格式播放支持等
2.使用平台提供的音频处理api处理音频PCM的数据的采集和播放,以Android为例:AudioRecord 和 AudioTrack需要熟练掌握
3.使用平台提供的相机接口Camera相关的api,对视频的采集和预览,播放等,以Android为例:Camera相关api,SurfaceView,TextureView等进行预览和数据采集
4.使用平台提供的api对视频文件的解封和合成,以Android为例:MediaExtractor 和 MediaMuxer的熟练掌握
5.硬编码涉及到的平台接口,理解内部实现原理,生命周期,流程等完成对音视频文件的编解码,以主流的