前言

最近公司有需求要做一个视频编辑的功能,陆陆续续查了很多资料,因为之前没有接触过这一领域,开始是想用Android自带的API来实现,但是过了一个星期后,通过参考别人的范例写了一个视频裁剪的demo,各种问题,这一周基本就用来查找怎么去解决这些问题了,但是结果很现实,仍然不知道怎么去解决这些问题。突然发现如果还是这样继续下去的话,就算功能勉强实现了,当出现另一个问题后还是不知道怎么去快速解决。也意识到如果只用Android API 的话可能无法实现需求。查找入门资料的时候偶然发现了一篇文章《Android音视频开发入门指南》,发现需要学习的地方还有很多…很多…很多…多…,就打算把音视频作为2019年的一个任务目标来学习,希望能通过这个指南一步步的进阶。

任务目标

为了防止链接失效,把任务目标转移到这儿一份

  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 特效等功能

并且把作者推荐的参考资料也列一份

  1. 《雷霄骅的专栏》:http://blog.csdn.net/leixiaohua1020

  2. 《Android音频开发》:http://ticktick.blog.51cto.com/823160/d-15

  3. 《FFMPEG Tips》:http://ticktick.blog.51cto.com/823160/d-17

  4. 《Learn OpenGL 中文》:https://learnopengl-cn.readthedocs.io/zh/latest/

  5. 《Android Graphic 架构》:https://source.android.com/devices/graphics/

结语

这一篇记录是学习音视频的开始,希望能督促自己不断的去进步,从下一篇文章开始记录学习音视频的每一步。不积跬步无以至千里,小步伐走起来。

Android音视频开发入门(一)相关推荐

  1. Android 音视频开发入门指南

    最近收到很多网友通过邮件或者留言说想学习音视频开发,该如何入门,我今天专门写篇文章统一回复下吧. 音视频这块,目前的确没有比较系统的教程或者书籍,网上的博客文章也都是比较零散的,希望我后面能挤出时间整 ...

  2. Android音视频开发入门指南

    <Android 音视频从入门到提高 -- 任务列表> 1. 在 Android 平台绘制一张图片,使用至少 3 种不同的 API,ImageView,SurfaceView,自定义 Vi ...

  3. Android音视频开发入门(5)使用LAME编码一个PCM文件,为了跳槽强刷1000道Android真题

    无论是自行安装PC上的编译器,还是下载其他平台的交叉编译链,它们都会提供下面几个工具: CC 编译器,对C源文件进行编译处理,生成汇编文件 AS 将汇编文件生成目标文件 AR 打包器,用于库操作 LD ...

  4. 23最新《Android音视频开发进阶指南》,音视频开发者速领

    作为Android开发程序员,我们时刻站在互联网的前端,而音视频作为现在乃至未来几年一个强劲的风口,吸引了许多程序员的关注. 那么音视频开发的行业现状究竟如何呢?我们又该怎样入门呢?请看下文: 音视频 ...

  5. Android 音视频开发(一) -- 使用AudioRecord 录制PCM(录音);AudioTrack播放音频

    前言,音视频这块,确实比较难入门,本着学习的态度,我这边也跟着 Android 音视频开发入门指南 打怪升级,留下个脚印,大家共勉. 音视频 系列文章 Android 音视频开发(一) – 使用Aud ...

  6. Android音视频开发---0基础入门准备篇

    文章目录 0,题记 1,学习路线 2,学习目标 任务列表 基础知识 FFmpeg 3,开始音视频开发必备的技能 1,C语言. 2,Linux. 3,基本的Linux编译执行命令,以及vim操作. 4, ...

  7. Android 音视频开发学习思路

    Android 音视频开发这块目前的确没有比较系统的教程或者书籍,网上的博客文章也都是比较零散的.只能通过一点点的学习和积累把这块的知识串联积累起来. 初级入门篇: Android 音视频开发(一) ...

  8. android音频开发6,Android 音视频开发(一) : 通过三种方式绘制图片

    想要逐步入门音视频开发,就需要一步步的去学习整理,并积累.本文是音视频开发积累的第一篇. 对应的要学习的内容是:在 Android 平台绘制一张图片,使用至少 3 种不同的 API,ImageView ...

  9. 2021了,为什么说音视频技术是技术风口?Android音视频开发这么吃香

    此外,H265交互式投屏技术在互动上更是丝滑到了极致 那么,我们该如何学习交互式投屏技术呢? 而如今音视频的知识纷繁复杂,自己学习非常困难,既需要非常扎实的基础知识,又需要有很多的工程经验: 而音视频 ...

  10. 【Android 音视频开发-音视频硬解码篇】1.音视频基础知识

    这是一个入门系列,涉及的知识也仅限于够用. 最后,写文章过程中,会借鉴参考其他人分享的文章,会在文章最后列出,感谢这些作者的分享. 本文你可以了解到 作为开篇的文章,我们先来看看音视频由什么构成的,以 ...

最新文章

  1. Kinect 骨骼追踪数据的处理方法
  2. Cocos-2d 坐标系
  3. php框架where条件使用,where条件
  4. 基于 REST 的 Web 服务:基础
  5. 深入理解分布式技术 - 构建高可用的消息队列
  6. SpringMVC教程--异常处理器详解
  7. IDEA创建java文件失败,但是new选项中有java class选项,设置中file and Code Templates中有对应模板
  8. 常见算法详解(原理及代码实现Python版本)
  9. 抢疯了!字节、美团《人人都要学的架构思维》完整版PDF开放下载!
  10. 基于Android平台的简易人脸检测库
  11. android q beta3更新功能,Android Q Beta 3更新内容:拥抱5G和可折叠设备
  12. php圆角的度数计算公式,弧度和角度的换算器(度数换算计算器)
  13. lcd开机流程图_LCD1602程序代码及显示流程图.doc
  14. 射雕zero找不到服务器,神秘领域《射雕ZERO》未揭秘场景盘点
  15. 龙格库塔格式的计算精度推导
  16. 搜集的育儿电子书下载大全
  17. kettle设置mysql时区_kettle中通过 时间戳(timestamp)方式 来实现数据库的增量同步操作(一)...
  18. 最大团(最大完全子图)
  19. 【Questasim】报错001 Failed to access library
  20. Eigen优化及并行性能测试

热门文章

  1. 以太坊地址检测算法golang实现
  2. Google浏览器插件
  3. 花瓣图片采集工具研究
  4. 发动机压缩比怎么计算公式_发动机要多大的压缩比热效率才能达到达到60%?
  5. 什么是发动机号,发动机号码是什么?
  6. 用Attiny85控制水泵浇花
  7. “你还有什么事想问”——作为程序员如何回答面试官的问题
  8. 服务器系统tcpip.sys,win7系统tcpip.sys文件引起蓝屏的解决方法
  9. AR拍照的实现核心代码
  10. 计算机研究计划怎么写,课题研究计划书范文