美文网首页ios 开发
Metal-AVAssetReader

Metal-AVAssetReader

作者: iOS小洁 | 来源:发表于2023-01-06 21:13 被阅读0次

AVAssetReader

AVAssetReader是AVFoundation中的一个读取器对象

  • 1、直接从存储中读取原始未解码的媒体样本,获取解码为可渲染形式的样本:从mp4文件中拿到h264,并对其进行解码拿到可渲染的样本
  • 2、混合资产的多个音轨,并使用和组合多个视频音轨

AVAssetReader 类结构

img

AVAssetReaderOutPut包含三种类型的输出

  • AVAssetReaderTrackOutput:用于从AVAssetReader存储中读取单个轨道的媒体样本
  • AVAssetReaderAudioMixOutput:用于读取音频样本
  • AVAssetReaderVideoCompositionOutput:用于读取一个或多个轨道中的帧合成的视频帧

AVAssetReader读取视频流程

  • AVAssetReader存储中M获取mov/mp4视频文件,将视频文件解压缩,即解码,还原成CMSampleBufferRef图像数据
  • CMSampleBufferRef中将图像数据读取到CVPixelBufferRef视频像素缓存区
  • 利用CVPixelBufferRef像素缓存区数据 和 CVMetalTextureCacheRef纹理缓存区数据 创建metal纹理缓存区CVMetalTextureRef
  • 将metal纹理缓存区CVMetalTextureRef的数据转换成metal纹理id<MTLTexture>
  • 将mental纹理id<MTLTexture>传递到GPU中的片元着色函数
img

相关文章

  • Metal-AVAssetReader

    AVAssetReader AVAssetReader是AVFoundation中的一个读取器对象 1、直接从存储...

网友评论

    本文标题:Metal-AVAssetReader

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