前言
现在市面上的图像,音视频软件越来越多,最近两年也是直播,短视频的红利期。而图像、音视频一直是互联网视觉的入口,掌握并熟练运用音视频、图像技术已经是当前互联网时代不可或缺的技能,而且这个技能是具有沉淀性质的。
目前市面上的学习资料参差不齐,我觉得想要开启音视频的学习之路,先得了解整体流程上会涉及的技术点,再一个个击破。我也是音视频方面的小白,最近公司要做一个视频换脸的应用,目前处于技术调研期。趁此空档,我准备开始我的音视频学习之路。
下面是音视频学习的简单介绍,扫描下方二维码领取全部资料
数据采集
- 音频采集
音频采集涉及到以下几点:
检测麦克风是否可以使用;
需要检测手机对某个音频采样率的支持;
在一些情况下需要对音频进行回声消除处理;
音频采集时设置正确的缓冲区大小。
在 Android 系统中,一般使用 AudioRecord 或者 MediaRecord 来采集音频。AudioRecord 是一个比较偏底层的 API,它可以获取到一帧帧 PCM 数据,之后可以对这些数据进行处理。而 MediaRecorder 是基于 AudioRecorder 的 API (最终还是会创建AudioRecord 用来与 AudioFlinger 进行交互) ,它可以直接将采集到的音频数据转化为执行的编码格式,并保存。
- 视频采集
视频采集涉及到以下几点:
检测摄像头是否可以使用;
摄像头采集到的图像是横向的,需要对采集到的图像进行一定的旋转后再进行显示;
摄像头采集时有一系列的图像大小可以选择,当采集的图像大小和手机屏幕大小比例不一致时,需要进行特殊处理;
Android 手机摄像头有一系列的状态,需要在正确的状态下才能对摄像头进行相应的操作。
Android 手机摄像头的很多参数存在兼容性问题,需要较好地处理这些兼容性的问题。
在 Android 系统下有两套 API 可以进行视频采集,它们是 Camera 和 Camera2 。Camera是以前老的 API ,从 Android 5.0(21) 之后就已经放弃了。和音频一样,也有高层和低层的 API,高层就是 Camera 和 MediaRecorder,可以快速实现编码,低层就是直接使用 Camera,然后将采集的数据进行滤镜、降噪等前处理,处理完成后由 MediaCodec 进行硬件编码,最后采用 MediaMuxer 生成最终的视频文件。
Android 音视频开发进阶指南
第1章Android音视频硬解码篇
- 音视频基础知识
- 音视频硬解码流程:封装基础解码框架
- 音视频播放:音视频同步
- 音视频解封和封装:生成一个MP4

第2章使用OpenGL渲染视频画面篇
- 初步了解OpenGL ES
- 使用OpenGL渲染视频画面
- OpenGL渲染多视频,实现画中画
- 深入了解OpenGL之EGL
- OpenGL FBO数据缓冲区
- Android音视频硬编码:生成一个MP4

第3章Android FFmpeg音视频解码篇
- 1.FFmpeg so库编译
- 2.Android 引入FFmpeg
- 3.Android FFmpeg视频解码播放
- 4.Android FFmpeg +OpenSL ES音频解码播放
- 5.Android FFmpeg +OpenGL ES播放视频
- 6.FFmpeg简单合成MP4:视屏解封与重新封装
- 7.Android FFmpeg 视频编码

第4章直播系统聊天技术
1.百万在线的美拍直播弹幕系统的实时推送技术实践之路

2. 阿里电商IM消息平台,在群聊、直播场景下的技术实践

3.微信直播聊天室单房间1500万在线的消息架构演进之路

4.百度直播的海量用户实时消息系统架构演进实践

5.微信小游戏直播在Android端的跨进程渲染推流实践

总结
其实要轻松掌握很简单,要点就两个:
- 找到一套好的视频资料,紧跟大牛梳理好的知识框架进行学习。
- 多练。 (视频优势是互动感强,容易集中注意力)
你不需要是天才,也不需要具备强悍的天赋,只要做到这两点,短期内成功的概率是非常高的。
本文介绍了Android音视频开发的基础,包括音频和视频采集的关键技术点,如数据采集、设备兼容性处理等。提到了使用AudioRecord和MediaRecorder进行音频采集,以及Camera和Camera2API的视频采集。文章还概述了进阶主题,如OpenGL视频渲染、FFmpeg解码和编码,以及直播系统的聊天技术。强调了通过高质量学习资源和实践来掌握这些技能的重要性。

被折叠的 条评论
为什么被折叠?



