ffmpeg数据结构

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
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值