美文网首页硬编码
iOS音视频详解

iOS音视频详解

作者: StevenHu_Sir | 来源:发表于2019-05-05 13:04 被阅读0次

    音频基础

    1.音频三要素

    音调:就是音频 , 男生 -> 女生 -> 儿童

    音量:震动的幅度

    音色:它与材质有很大关系,本质是谐波

    音视频编解码整个过程

    1.采集数据 AVFoundation

    2.滤镜/特效添加

    3.编码视频数据 VideoToolBox

    4.解码视频数据 VideoToolBox

    5.视频渲染到屏幕上

    6.编码音频数据 AudioToolBox

    7.解码音频数据/直接播放音频数据 AudioToolBox

    音视频编解码整个过程

    核心技术点

    1.AVFoundation数据采集/剪辑拼接处理

    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及其子类结构

    AVAsset及其子类结构

    2.图片渲染流程:

    CPU计算视图frame,图片解码,需要绘制纹理图片提交给GPU

    GPU获取获取图片的坐标

    将坐标交给顶点着色器(顶点计算)

    将图片光栅化(获取图片对应屏幕上的像素点)

    片元着色器计算(计算每个像素点的最终显示的颜色值)

    从帧缓存区中渲染到屏幕上

    读取文件->计算Frame->图片解码->解码后纹理图片位图数据通过数据总线交给GPU->GPU获取图片Frame->顶点变换计算->光栅化->根据纹理坐标获取每个像素点的颜色值(如果出现透明值需要将每个像素点的颜色*透明度值)->渲染到帧缓存区->渲染到屏幕

    相关文章

      网友评论

        本文标题:iOS音视频详解

        本文链接:https://www.haomeiwen.com/subject/ddjcoqtx.html