Android技术知识

风口持续!22年仍旧稀缺的Android人才!

2022-05-16  本文已影响0人  搬砖小老弟

前言

如今音视频的知识纷繁复杂,自己学习非常困难,既需要非常扎实的基础知识,又需要有很多的工程经验。

而音视频从业者基本上有两个层面:一个层面是搞音视频算法,这类人非常少,需要有深的数学能力和算法背景,这类人一般都会选择去大公司,薪水百万是最low 的。

另一个层面是搞工程,这类人相对较多,他们有扎实的理论基础,很强的技术功底,对音频、视频都非常熟悉。这些人工资要比一般开发者高20%左右;随着5G时代的到来,不管作为开发者还是用户,现在我们每天都会接触到各种各样的短视频、直播类的App,与之相关的音视频方向的开发也变得越来越重要。现在有大量的公司开始寻找音视频人才,一个稍好点的音视频人才现在可能会有3-4家公司抢着要。因此,对音视频人才的需求也从小众变成了大众,这更多的是大家对未来市场的预期导致的结果。

小众领域的神秘面纱

但是对于大多数Android开发者来说,从事Android音视频相关的开发可能目前还算是个小众领域,虽然可能目前深入这个领域的开发者还不是太多,但这个方向涉及的知识点可一点都不少。

语言

框架

打牢基础之后,我们可以循序渐进地增强自己的实际业务能力

1.在 Android 平台绘制一张图片,使用至少 3 种不同的 API,ImageView,SurfaceView,自定义 View
2.在 Android 平台使用 AudioRecord 和 AudioTrack API 完成音频 PCM 数据的采集和播放,并实现读写音频 wav 文件
3.在 Android 平台使用 Camera API 进行视频的采集,分别使用 SurfaceView、TextureView 来预览 Camera 数据,取到 NV21 的数据回调
4.学习 Android 平台的 MediaExtractor 和 MediaMuxer API,知道如何解析和封装 mp4 文件
5.学习 Android 平台 OpenGL ES API,了解 OpenGL 开发的基本流程,使用 OpenGL 绘制一个三角形
6.学习 Android 平台 OpenGL ES API,学习纹理绘制,能够使用 OpenGL 显示一张图片
7.学习 MediaCodec API,完成音频 AAC 硬编、硬解
8.学习 MediaCodec API,完成视频 H.264 的硬编、硬解
9.串联整个音视频录制流程,完成音视频的采集、编码、封包成 mp4 输出
10.串联整个音视频播放流程,完成 mp4 的解析、音视频的解码、播放和渲染
11.进一步学习 OpenGL,了解如何实现视频的剪裁、旋转、水印、滤镜,并学习 OpenGL 高级特性,如:VBO,VAO,FBO 等等
12.学习 Android 图形图像架构,能够使用 GLSurfaceviw 绘制 Camera 预览画面
13.深入研究音视频相关的网络协议,如 rtmp,hls,以及封包格式,如:flv,mp4
14.深入学习一些音视频领域的开源项目,如 webrtc,ffmpeg,ijkplayer,librtmp 等等
15.将 ffmpeg 库移植到 Android 平台,结合上面积累的经验,编写一款简易的音视频播放器
16.将 x264 库移植到 Android 平台,结合上面积累的经验,完成视频数据 H264 软编功能
17.将 librtmp 库移植到 Android 平台,结合上面积累的经验,完成 Android RTMP 推流功能
18.上面积累的经验,做一款短视频 APP,完成如:断点拍摄、添加水印、本地转码、视频剪辑、视频拼接、MV 特效等功能

如何学习音视频开发

这里给大家推荐一套学习路线,并附有相关《音视频开发核心知识点笔记》,相信可以给大家提供一些帮助,有需要的朋友们也可以下载下来随时查漏补缺。

音视频初级入门

音视频初级入门主要是接触Android多媒体展示相关的API,通过单独的列举和使用这些API,对Android音视频处理有一个基本的轮廓,虽然知识点相对来说是比较散的,但是点成线、线成面,基本的基础掌握了,通过学习Android音视频核心的API将音视频的流程串联起来,这样对于音视频的了解和控制就不仅仅局限于最外层的API了,而是能够通过相对底层的方式来加深对Android 音视频开发的认知。

由于文章篇幅长多有限,不能一一的展现该学习文档中的所有内容,大家与需要参考学习可以 点击这里查看获取方式 传送门直达!!!**

音视频中级进阶:OpenSL ES 学习

学习 Android 平台 OpenSL ES API,了解 OpenSL 开发的基本流程,使用OpenSL播放PCM数据,并了解相关API的简单使用

这一部分主要是动手实践,积累实战经验,可以试试给自己定以下目标:

音视频高级探究

音视频编解码技术

流媒体协议

由于文章篇幅长多有限,不能一一的展现该学习文档中的所有内容,大家与需要参考学习可以去访问我GitHub:https://github.com/733gh/Android-T3

多媒体文件格式

FFmpeg 学习

由于文章篇幅长多有限,不能一一的展现该学习文档中的所有内容,大家与需要参考学习可以 点击这里查看获取方式 传送门直达!!!

上一篇 下一篇

猜你喜欢

热点阅读