接触 Android 音视频这一块曾经有一段时间了,跟一般的应用层开发相比,确实更破费精力。期间为了学习音视频的录制,编码,解决也看过大大小小的几十个我的项目。总体感觉就是常识比拟零散,对刚入门的敌人比拟不敌对。所以才萌发了整顿一个 Android 音视频学习路线的想法,零碎的学习效果必定要远好于零零散散的补充常识。
先来看我本人总结的一个学习纲要图:
上图看的只是纲要,具体的音视频的要学习的知识点十分多,算是一条不归路。然而要学到能混口饭吃还是不难的,而且学好了必定不只是混一口饭。找个当初的招聘信息给大家点信念,能够看到,待遇还是很可观的。
好了,回归正题。
光看纲要,大家都晓得要学习音视频录制,编码,解决,然而具体不晓得怎么做,也不晓得怎么入门。我本人在入门的时候也一样,靠着搜索引擎本人一点一点的积攒,在这里当然要谢谢在该畛域无私奉献的大佬们。所以在这里,我会对常识进行细化,使用的具体的场景中去,实践联合代码,更好的帮忙把握。
上面是我整顿的学习路线,置信我,如果你认真学完了,你肯定会成为音视频人才招聘市场的香饽饽~~
一、高级入门篇:
一、绘制图片
- ImageView 绘制图片
- SurfaceView 绘制图片
- 自定义 View 绘制图片
二、AudioRecord API 详解
三、应用 AudioRecord 实现录音,并生成 wav
- 创立一个 AudioRecord 对象
- 初始化一个 buffer
- 开始录音
- 创立一个数据流,一边从 AudioRecord 中读取声音数据到初始化的 buffer,一边将 buffer 中数据导入数据流。
- 敞开数据流
- 进行录音
四、用 AudioTrack 播放 PCM 音频
1.AudioTrack 根本应用
- MODE_STATIC 模式
- MODE_STREAM 模式
2.AudioTrack 详解
- 音频流的类型
- Buffer 调配和 Frame 的概念
- AudioTrack 结构过程
- AudioTrack 与 MediaPlayer 的比照
- 区别
- 分割
- SoundPool
五、应用 Camera API 采集视频数据
1. 预览 Camera 数据
2. 取到 NV21 的数据回调
六、应用 MediaExtractor 和 MediaMuxer API 解析和封装 mp4 文件
1.MediaExtractor API 介绍
2.MediaMuxer API 介绍
3. 应用情境
七、MediaCodec API 详解
1.MediaCodec 介绍
2.MediaCodec API 阐明
3.MediaCodec 流控
- 流控基本概念
- Android 硬编码流控
- Android 流控策略抉择
因为文章篇幅受限,残余内容过多,文中插图无限,下文只能截图目录展现:
所有知识点具体内容都整顿在了开源我的项目【GitHub】, 有须要的能够自取。
二、中级进阶篇:
- Android OpenGL ES 开发(一): OpenGL ES 介绍
- Android OpenGL ES 开发(二): OpenGL ES 环境搭建
- Android OpenGL ES 开发(三): OpenGL ES 定义形态
- Android OpenGL ES 开发(四): OpenGL ES 绘制形态
- Android OpenGL ES 开发(五): OpenGL ES 应用投影和相机视图
- Android OpenGL ES 开发(六): OpenGL ES 增加静止成果
- Android OpenGL ES 开发(七): OpenGL ES 响应触摸事件
- Android OpenGL ES 开发(八): OpenGL ES 着色器语言 GLSL
- Android OpenGL ES 开发(九): OpenGL ES 纹理贴图
- Android OpenGL ES 开发(十): 通过 GLES20 与着色器交互
- 应用 OpenGL 显示一张图片
- GLSurfaceviw 绘制 Camera 预览画面及实现拍照
- 应用 OpenGL ES 实现视频的录制,并实现视频水印成果
高级探索篇:
- 深刻学习音视频编码,如 H.264,AAC,钻研应用开源编解码库,如 x.264,JM 等
- 深入研究音视频相干的网络协议,如 rtmp,hls,以及封包格局,如:flv,mp4
- 深刻学习一些音视频畛域的开源我的项目,如 webrtc,ffmpeg,ijkplayer,librtmp 等等
- 将 ffmpeg 库移植到 Android 平台,联合下面积攒的教训,编写一款繁难的音视频播放器
- 将 x264 库移植到 Android 平台,联合下面积攒的教训,实现视频数据 H264 软编性能
- 将 librtmp 库移植到 Android 平台,联合下面积攒的教训,实现 Android RTMP 推流性能
音视频编解码技术
- 音视频编解码技术(一):MPEG-4/H.264 AVC 编解码规范
- 音视频编解码技术(二):AAC 音频编码技术
流媒体协定
- 流媒体协定(一):HLS 协定
- 流媒体协定(二):RTMP 协定
多媒体文件格式
- 多媒体文件格式(一):MP4 格局
- 多媒体文件格式(二):FLV 格局
- 多媒体文件格式(三):M3U8 格局
- 多媒体文件格式(四):TS 格局
- 多媒体文件格式(五):PCM / WAV 格局
FFmpeg 学习记录
- FFmpeg 命令行工具学习 (一):查看媒体文件头信息工具 ffprobe
- FFmpeg 命令行工具学习 (二):播放媒体文件的工具 ffplay
- FFmpeg 命令行工具学习 (三):媒体文件转换工具 ffmpeg
- FFmpeg 命令行工具学习 (四):FFmpeg 采集设施
- FFmpeg 命令行工具学习 (五):FFmpeg 调整音视频播放速度
- FFmpeg 学习 (一):FFmpeg 简介
- FFmpeg 学习 (二):Mac 下装置 FFmpeg
- FFmpeg 学习 (三):将 FFmpeg 移植到 Android 平台
- FFmpeg 学习 (四):FFmpeg API 介绍与通用 API 剖析
- FFmpeg 学习 (五):FFmpeg 编解码 API 剖析
- FFmpeg 学习 (六):FFmpeg 外围模块 libavformat 与 libavcodec 剖析
- FFmpeg 构造体学习 (一):AVFormatContext 剖析
- FFmpeg 构造体学习 (二):AVStream 剖析
- FFmpeg 构造体学习 (三):AVPacket 剖析
- FFmpeg 构造体学习 (四):AVFrame 剖析
- FFmpeg 构造体学习 (五):AVCodec 剖析
- FFmpeg 构造体学习 (六):AVCodecContext 剖析
- FFmpeg 构造体学习 (七):AVIOContext 剖析
- FFmpeg 构造体学习 (八):FFMPEG 中重要构造体之间的关系
更多目录截图:
总结: 以上就是对于音视频的材料最强整顿和概括了(还有局部内容没有截图进去),置信应该是全网最全了,所有材料都是收费分享给大家的,也省去了对音视频感兴趣的小伙伴们到处找材料的工夫,如果你正好须要能够点此处收费获取
音视频开发的前景,置信大家从相干的招聘网站上就能够看到,不论是流媒体开发还是音视频解决开发,都是大量招人的,并且因为入门门槛绝对较高,学习周期长,薪资也是居高不下。
另外:小编还收集整理一些音视频相干配套视频,置信能使大家学习起来更加疾速无效:
** 文中所有材料都是收费分享给大家的,[只需你动动手指导击此处就可中转收费支付形式了。](https://github.com/zhireshini…
)**
Android 架构师之路很漫长,一起共勉吧!学习之路犹如逆水行舟,逆水行舟,如果你松散了,那么你就退化了,而在 Android 开发工作中没有一门吃香独特的技术,想拿高薪也只能是可望不可即的。做个怠惰向上的人,加紧学习,抓住核心,宁精勿杂,宁专勿多。
如果你正好须要这份完整版 Android 音视频开发,只需你多多反对我这篇文章。
疾速动手通道:(点这里)下载!诚意满满!!!
整顿不易,感觉有帮忙的敌人能够帮忙点赞分享反对一下小编~
你的反对,我的能源;祝各位前程似锦,offer 一直!!!