ffmpeg常用结构体总结

AVFormatContext描述了一个媒体文件或媒体流的构成和基本信息,位于avformat.h文件中。 

int nb_streams:AVFormatContext中所含stream的个数;

AVStream**stream :文件中所有的音视频个数;

char filename[]:输入活或者输出的文件名;

 

AVStream 音频流和视频流的一些信息。

int index:音视频文件在AVFormatContext中的位置

AVRational time_base:时间基,解码时将pts转换为实际时间;

int64_t duration: 该流的时长,单位为time_base;

AVCodecContext *codec:与此流关联的编解码器的上下文;

 

AVPacket 此结构体包含了压缩数据,音频的话例如mp3 ,AAC,视频的话例如h264,hevc;

data:包含的压缩数据,例如如果h264数据的话,一个packet几乎等同于一个nal数据;

int size: 数据大小;

int stream_index:是音频数据还是视频数据;

int64_t pts:单位AVStream->time_base;

int64_t dts:单位AVStream->time_base;

AVFrame 此结构体包含了原始数据 音频的话可能是YUV420P,RGB24像素数据,音频的话可能是PCM采样数据

uint8_t *     data[] packet:数据的话data[0] 是一个完整的rgb24数据,planar数据的话data【0】Y数据,data【1】U数据,data【2】V数据

linesize:一行数据的大小,通常比一行像素的数据要大

width,height:图像的宽高

nb_samples:音频的采样个数,一个AVFrame中含有多少个采样数据,比如1024个

key_frame:是否是关键帧

format :数据的格式

pic_type:图像的格式

int64_t     pkt_pts:帧的展示时间

AVCodecContext此结构体 包含了编解码器的一些信息

AVMediaType     codec_type:编解码器所属地额类型,是音频还是视频。

AVCodec *codec:此结构体关联的编解码器-解码时avcodec_open2 会为此赋值,编码时需要先创建AVCodec,然后在avcodec_open时为此 变量赋值

int width,height: 图像的宽高

int channel_layout: 音频的声道个数

AVCodec 包含的编解码器的具体信息

const char * name: 编解码器的名称

const char * long_name :详细的编解码器名称

enum AVMediaType  type :编解码器的类型

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
AVFilter是FFmpeg中的一个重要结构体,它代表着一个filter(过滤器),可以用于视频和音频处理。 AVFilter结构体定义在libavfilter/avfilter.h文件中,其主要成员变量包括: 1. char *name:过滤器名称,用于在命令行或脚本中标识该过滤器。 2. char *description:过滤器描述,用于在命令行或脚本中给出该过滤器的作用和功能。 3. AVFilterPad *inputs:输入端口,指向一个AVFilterPad结构体数组,代表着该过滤器的输入端口。 4. AVFilterPad *outputs:输出端口,指向一个AVFilterPad结构体数组,代表着该过滤器的输出端口。 5. AVFilterInitFunc *init:初始化函数,该函数会在过滤器被创建时调用,用于初始化过滤器的参数和状态。 6. AVFilterUninitFunc *uninit:反初始化函数,该函数会在过滤器被销毁时调用,用于清理过滤器的资源和状态。 7. AVFilterFilterFunc *filter:过滤函数,该函数会在过滤器被应用时调用,用于实现过滤器的具体功能。 8. AVFilterQueryFormatsFunc *query_formats:查询格式函数,该函数会在过滤器被创建时调用,用于查询输入输出格式,并将其保存在inputs和outputs中。 9. AVFilterFormats *formats:格式列表,代表着该过滤器支持的输入输出格式列表。 10. void *priv:私有数据,用于保存过滤器的内部状态和数据。 总之,AVFilter结构体FFmpeg中非常重要的一个结构体,它代表着一个filter(过滤器),可以用于视频和音频处理。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值