音频基础
1.音频三要素
音调:就是音频 , 男生 -> 女生 -> 儿童
音量:震动的幅度
音色:它与材质有很大关系,本质是谐波
音视频编解码整个过程
1.采集数据 AVFoundation
2.滤镜/特效添加
3.编码视频数据 VideoToolBox
4.解码视频数据 VideoToolBox
5.视频渲染到屏幕上
6.编码音频数据 AudioToolBox
7.解码音频数据/直接播放音频数据 AudioToolBox
核心技术点
1.AVFoundation数据采集/剪辑拼接处理
2.滤镜处理 GPUImage滤镜框架,基于OpenGL ES
美颜
预览比例
人脸特效
水印
3.编码视频数据 VideoToolBox
VideoToolBox/FFmpeg
4.解码视频数据 VideoToolBox
VideoToolBox
5.视频渲染到屏幕上
6.编码音频数据 AudioToolBox
7.解码音频数据/直接播放音频数据 AudioToolBox
8.解码完毕数据-> 显示(KXMovie/ijkplayer/直接显示OpenGL ES/Metal)
补充
1.AVAsset及其子类结构
2.图片渲染流程:
CPU计算视图frame,图片解码,需要绘制纹理图片提交给GPU
GPU获取获取图片的坐标
将坐标交给顶点着色器(顶点计算)
将图片光栅化(获取图片对应屏幕上的像素点)
片元着色器计算(计算每个像素点的最终显示的颜色值)
从帧缓存区中渲染到屏幕上
读取文件->计算Frame->图片解码->解码后纹理图片位图数据通过数据总线交给GPU->GPU获取图片Frame->顶点变换计算->光栅化->根据纹理坐标获取每个像素点的颜色值(如果出现透明值需要将每个像素点的颜色*透明度值)->渲染到帧缓存区->渲染到屏幕