Android 音视频涉及到的技术总结

本文介绍了Android音视频开发的基础,包括音频和视频采集的关键技术点,如数据采集、设备兼容性处理等。提到了使用AudioRecord和MediaRecorder进行音频采集,以及Camera和Camera2API的视频采集。文章还概述了进阶主题,如OpenGL视频渲染、FFmpeg解码和编码,以及直播系统的聊天技术。强调了通过高质量学习资源和实践来掌握这些技能的重要性。

前言

现在市面上的图像,音视频软件越来越多,最近两年也是直播,短视频的红利期。而图像、音视频一直是互联网视觉的入口,掌握并熟练运用音视频、图像技术已经是当前互联网时代不可或缺的技能,而且这个技能是具有沉淀性质的。

目前市面上的学习资料参差不齐,我觉得想要开启音视频的学习之路,先得了解整体流程上会涉及的技术点,再一个个击破。我也是音视频方面的小白,最近公司要做一个视频换脸的应用,目前处于技术调研期。趁此空档,我准备开始我的音视频学习之路。

下面是音视频学习的简单介绍,扫描下方二维码领取全部资料

数据采集

  1. 音频采集

音频采集涉及到以下几点:

检测麦克风是否可以使用;
需要检测手机对某个音频采样率的支持;
在一些情况下需要对音频进行回声消除处理;
音频采集时设置正确的缓冲区大小。
在 Android 系统中,一般使用 AudioRecord 或者 MediaRecord 来采集音频。AudioRecord 是一个比较偏底层的 API,它可以获取到一帧帧 PCM 数据,之后可以对这些数据进行处理。而 MediaRecorder 是基于 AudioRecorder 的 API (最终还是会创建AudioRecord 用来与 AudioFlinger 进行交互) ,它可以直接将采集到的音频数据转化为执行的编码格式,并保存。

  1. 视频采集

视频采集涉及到以下几点:

检测摄像头是否可以使用;
摄像头采集到的图像是横向的,需要对采集到的图像进行一定的旋转后再进行显示;
摄像头采集时有一系列的图像大小可以选择,当采集的图像大小和手机屏幕大小比例不一致时,需要进行特殊处理;
Android 手机摄像头有一系列的状态,需要在正确的状态下才能对摄像头进行相应的操作。
Android 手机摄像头的很多参数存在兼容性问题,需要较好地处理这些兼容性的问题。
在 Android 系统下有两套 API 可以进行视频采集,它们是 Camera 和 Camera2 。Camera是以前老的 API ,从 Android 5.0(21) 之后就已经放弃了。和音频一样,也有高层和低层的 API,高层就是 Camera 和 MediaRecorder,可以快速实现编码,低层就是直接使用 Camera,然后将采集的数据进行滤镜、降噪等前处理,处理完成后由 MediaCodec 进行硬件编码,最后采用 MediaMuxer 生成最终的视频文件。

Android 音视频开发进阶指南

第1章Android音视频硬解码篇

  • 音视频基础知识
  • 音视频硬解码流程:封装基础解码框架
  • 音视频播放:音视频同步
  • 音视频解封和封装:生成一个MP4

image.png

第2章使用OpenGL渲染视频画面篇

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

image.png

第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 视频编码

image.png

第4章直播系统聊天技术

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

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

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

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

image.png

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

总结

其实要轻松掌握很简单,要点就两个:

  1. 找到一套好的视频资料,紧跟大牛梳理好的知识框架进行学习。
  2. 多练。 (视频优势是互动感强,容易集中注意力)

你不需要是天才,也不需要具备强悍的天赋,只要做到这两点,短期内成功的概率是非常高的。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值