ffmpeg数据结构

来源:互联网 发布:淘宝女装模板 编辑:程序博客网 时间:2024/06/04 19:26

AVFormatContext

封装格式上下文结构体,也是统领全局的结构体,保存了视频文件封装格式的信息

AVInputFormat

每种封装格式(例如flv,mkv,mp4,avi)对应一个结构体

AVStream

视频文件每个视频(音频)流对应一个该结构体

AVCodecContext

编码器上下文结构体,保存了视频(音频)编解码相关信息

AVCodec

每种视音频编解码器(例如H.264)对应一个该结构体

AVPacket

存储一帧压缩编码数据

AVFrame

存储一帧解码后像素(采样)数据


数据结构包含元素


AVFormatContext

  1. iformat 输入视频的AVIputFormat
  2. nb_streams 输入视频的AVStream个数
  3. streams 输入视频的AVStream[]数组
  4. duration 输入视频的时长
  5. bit_rate 输入视频的码率

AVInputFormat

  1. name 封装格式名称
  2. long_name 封装格式的长名称
  3. extensions 封装格式的扩展名
  4. id 封装格式ID

AVStream

  1. id 序号
  2. codec 对应的AVCodecContext
  3. time_base 该流的时基
  4. r_frame_rate 该流的帧率

AVCodecContext

  1. codec 编解码器的AVCodec
  2. width,height 图像的宽高(只针对视频)
  3. pix_fmt 像素格式(只针对视频)
  4. sample_rate 采样率(只针对音频)
  5. channels 声道数 (只针对音频)
  6. sample_fmt 采样格式(只针对音频)

AVCodec

  1. name 编解码器的名称
  2. long_name 编解码器的长名称
  3. type 编解码器类型
  4. id 编解码器ID

AVPacket

  1. pts 显示时间戳
  2. dts 解码时间戳
  3. data 压缩编码数据
  4. size 压缩编码数据大小
  5. stream_index 所属AVStream

AVFrame

  1. data 解码后的图像像素数据(音频采样数据)
  2. linesize 对视频来说是图像中一行像素的大小,对音频来说是整个音频帧的大小
  3. width,height 图像的宽高(只针对视频)
  4. key_frame 是否为关键帧(只针对视频)
  5. pict_type 帧类型(中针对类型),例如 I,P,B
原创粉丝点击