FFmpeg结构体:AVCodecContext

AVCodecContext是一个描述编解码器上下文的数据结构,包含了众多编解码器需要的参数信息,位于avcodec.h文件中。
 

 常见变量及其作用
 

enum AVMediaType codec_type; //编解码器的类型(视频,音频...)。
const struct AVCodec  *codec; //采用的解码器AVCodec(H.264,MPEG2...)。
int64_t bit_rate;//平均比特率。
uint8_t *extradata;//针对特定编码器包含的附加信息(例如对于H.264解码器来说,存储SPS,PPS等)。
int extradata_size;
AVRational time_base;//时间的基准单位,根据该参数,可以把PTS转化为实际的时间(单位为秒s)。
编解码延迟。
int delay;//编码:从编码器输入到解码器输出的帧延迟数。解码:除了规范中规定的标准解码器外产生的帧延迟数。
int width, height;//代表宽和高(仅视频)。
int refs;//运动估计参考帧的个数(H.264的话会有多帧,MPEG2这类的一般就没有了)。
int sample_rate; //采样率(仅音频)。
int channels; //声道数(仅音频)。
enum AVSampleFormat sample_fmt;  //音频采样格式,编码:由用户设置。解码:由libavcodec设置。
int frame_size;//音频帧中每个声道的采样数。编码:由libavcodec在avcodec_open2()中设置。 解码:可以由一些解码器设置以指示恒定的帧大小.
int frame_number;//帧计数器,由libavcodec设置。解码:从解码器返回的帧的总数。编码:到目前为止传递给编码器的帧的总数。
uint64_t channel_layout;//音频声道布局。编码:由用户设置。解码:由用户设置,可能被libavcodec覆盖。
enum AVAudioServiceType audio_service_type;//音频流传输的服务类型。编码:由用户设置。解码:由libavcodec设置。

你可能感兴趣的:(音视频)