本项目是学习实践音视频的demo,系列文章如下,持续跟新中,欢迎关注公众号"音视频开发之旅" 一起学习成长。
音视频开发之旅(一)三种方式绘制图片
音视频开发之旅(二)AudioRecord录制PCM音频
音视频开发之旅(三)AudioTrack播放PCM音频
音视频开发之旅(四)Camera视频采集
音视频开发之旅(五)MediaExtractor MediaMuxer 实现视频的解封装与合成
音视频开发之旅(六)MediaCodec硬编解流程与实践
音视频开发之旅(七) OpenGL ES 基本概念
音视频开发之旅(八)GLSL及Shader的渲染流程
音视频开发之旅(九) OpenGL ES 绘制平面图形
音视频开发之旅(十) GLSurfaceView源码解析&EGL环境
音视频开发之旅(11) OpenGL ES矩阵变换与坐标系统
音视频开发之旅(12) OpenGL ES之纹理
音视频开发之旅(13) OpenGL ES 滤镜 (篇一)
音视频开发之旅(14) OpenGL ES 实时滤镜
音视频开发之旅(15) OpenGL ES粒子系统 - 喷泉
音视频开发之旅(16) OpenGL ES粒子效果-烟花爆炸
音视频开发之旅(17) JNI与NDK的学习和使用
音视频开发之旅(18) JNI - 引用类型、异常处理、函数注册
音视频开发之旅(19)NDK构建方式 ndk-build与cmake
音视频开发之旅(20) 指针、内存模型、引用
音视频开发之旅(21)运算符重载、继承、多态、模版
音视频开发之旅(22) STL 之 容器
音视频开发之旅(23) 算法系列 - 冒泡排序
音视频开发之旅(24) 算法系列-快速排序
音视频开发之旅(25) 算法系列-堆排序
音视频开发之旅(26) 算法系列-选择、插入排序以及STL中sort的实现
音视频开发之旅(27) 算法序列 - 二叉查找树
音视频开发之旅(28) 算法序列 - 平衡二叉树
音视频开发之旅(29) 算法序列 - 散列表
音视频开发之旅(30) -音视频基础知识
音视频开发之旅(31) -FFMPEG常用命令
音视频开发之旅(32)-音视频学习资料
音视频开发之旅(33) -交叉编译android使用的FFmpeg(3.x和4.x)
音视频开发之旅(34) - 基于FFmpeg实现简单的视频解码器
音视频开发之旅(35) -FFmpeg + AudioTrack 实现音频解码和播放
音视频开发之旅(36) -FFmpeg +OpenSL ES实现音频解码和播放
音视频开发之旅(37) -FFmpeg + OpenGLES 边解码边播放视频(一)
音视频开发之旅(38) -使用FBO实现渲染到纹理(Render to texture)
音视频开发之旅(39)- 高斯模糊实现与优化
音视频开发之旅(40)-贝塞尔曲线和曲面
音视频开发之旅(41)-天空盒
音视频开发之旅(42) - 光照基础(一)
音视频开发之旅(43)-光照基础(二)
音视频开发之旅(44)-ExoPlayer介绍及简单使用
Android基础进阶 - 消息机制
Android基础进阶 - 消息机制 之ThreadLocal
Android基础进阶 - 消息机制 之Native层分析
音视频开发之旅(49)-边缓存边播放之AndroidVideoCache