一、背景:
以高速度、泛在网、低功耗(设备端)、低时延、万物互联、重构安全为特点的5G技术使直播,短视频行业相关业务发展迅猛。远程会议、工作、学习,线上教育……甚嚣尘上,进行的如火如荼。抖音等短视频APP更是为音视频的火浇上了一瓢油。5G的浪潮全面袭来,其实为Android开发者带来了一个十分强劲的风口:音视频开发。
自从2020年开始,远程会议、在线办公、教育,等项目开发需求持续激增,某音、某手等短视频App更是为音视频开发大力助燃。
NDK 技术几乎已经成为Android开发必不可少的一个技能,虽说不是绝对,但也是占据了举足轻重的地位。掌握了这各方面的技术,在面试中会拥有很大的加分项。
二、Android音视频开发的前景
这里我们可以看到普通 Android开发 和会音视频的 Android开发薪资差距,基本要比普通的Android开发工资要高出5-10K以上,这里还只是Boss这一家平台的信息,还有更多急招,甚至高薪招聘的公司。
三、Android音视频开发该怎么学?
学习任务目标
- 视频是什么?
- 音频是什么?
- 为什么要编码?
- 视频编码(格式、H264编码)
- 音频编码(格式、AAC编码)
- 音视频容器
- 硬解码和软解码区别
- 初步了解OpenGL ES
- 使用OpenGL渲染视频画面
- OpenGL渲染多视频,实现画中画
- 深入了解OpenGL之EGL
- OpenGL FBO数据缓冲区
- Android音视频硬编码:生成一个MP4
自学音视频开发难吗?
不骗大家,音视频的门槛是真的有点高,因为音视频开发需要接触底层,所以需要接触C/C++语言进行开发,这让不少Android只接触了Java语言或者kotlin语言开发的朋友望而却步——这也是为什么会有这么多NDK高薪岗位存在的理由。
对于新入门的开发者来说,仅仅只是看大量的音视频开源库,像FFmpeg、MediaCodec这些API就已经很让人头大了。况且,只是使用API,根本不能适应实际工作中千变万化的需求。
介于以上的主要原因,音视频自学起来困难重重,学习成本非常高,效率极低。当然,所谓的难度只是对那些找不到方向的人来说,如果有正确的学习方向,辅以系统的学习路线图进行引导,难度就会降低很多,学起来也高效很多。我这刚好有一份前腾讯T9级架构师整理的音视频学习路线图,大家可以看看:
里面记得录的技术知识点都是又先后顺序表明,从最开始的基础语法→编码原理→音视频实战技术,该图可能因记录的技术知识点过多,导致图片清晰度有所下降,高清版我已记录在我GitHub中,大家感兴趣可以去自行查看
相信大家在学习过程中需要一些学习文档或视频进行辅助学习,刚好我之前学习音视频技术时,整理了一些学习文档还没有丢失,如果能帮助到你学习,再次能发挥它的作用,那就太好了!!!如有需要参考的可以直接去我 GitHub 地址中进行访问查阅 https://github.com/733gh/Android-T3
总结
其实也没什么太多的取巧,只是学习这件事,必须得有体系,有条理,循序渐进,这样才能完全的掌握这些重要的知识点和技能。 1.首先是要了解基础知识体系,在脑子里有一个基本的学习路线和框架。 2.把音视频和产品结合起来,根据实际业务需求和上层来配合。
|