stagefright框架概述

  多媒体框架stagefright是android2.3后替代opencore的。整个框架非常庞大,这里将它分为编码器、解码器、合成器、分离器、PCM数据和YUV数据输入、数据源(DataSource)、渲染器、AudioPlayer等八个部分。接下来一系列博文会把stagefright分解为这八个部分来一一介绍,最后通过详细介绍Audio和Video的播放和录制过程来分析它们之间是如何关联的。

  stagefright数据流

图1-1 stagefright数据流过程图

  上图简单示意了播放和录制时,媒体数据流在stagefright框架的各部分的流转。
  DataSource:从本地媒体文件或者流媒体读取数据,给分离器分析;
  分离器:获取文件格式和分离多路track;
  解码器:将压缩格式的音轨解码为PCM数据,视频经过解码为YUV数据;
  渲染器:将解码出来的视频数据经过color转换为RGB输出到屏幕;
  AudioPlayer:包含了audiotrack,将音频PCM数据输出到音频设备;
  PCM数据和YUV数据输入:通过camera采集的YUV数据和mic采集的PCM数据送到编码器;
  编码器:压缩音视频为各种编码格式的数据;
  合成器:将压缩好的数据按照文件格式写入到媒体文件;

posted @ 2012-10-12 14:16  cerberspace  阅读(1371)  评论(0编辑  收藏  举报