音视频处理流程

AVCodecContext是和编解码相关的结构体,同时也是变量最多的一个结构体。
头文件
关键字段
-
codec: 指定要使用的编解码器,通常由avcodec_find_encoder或avcodec_find_decoder函数获得。 -
codec_type:编解码器类型(视频、音频)
enum AVMediaType {
AVMEDIA_TYPE_UNKNOWN = -1, ///< Usually treated as AVMEDIA_TYPE_DATA
AVMEDIA_TYPE_VIDEO,
AVMEDIA_TYPE_AUDIO,
AVMEDIA_TYPE_DATA, ///< Opaque data information usually continuous
AVMEDIA_TYPE_SUBTITLE,
AVMEDIA_TYPE_ATTACHMENT, ///< Opaque data information usually sparse
AVMEDIA_TYPE_NB
};
-
width和height: 视频帧的宽度和高度。 -
pix_fmt: 像素格式,描述视频帧的颜色表示方式,例如YUV420P。 -
bit_rate: 指定目标码率,单位为比特每秒。 -
time_base: 时间基准,表示每个时钟周期的持续时间。用于计算时间戳。 -
gop_size: GOP(Group of Pictures)大小,指定两个关键帧之间的最大帧数。 -
max_b_frames: 最大B帧数,影响编码的延迟和质量。 -
refs: 编码过程中参考帧的数量。 -
sample_rate: 音频采样率。 -
channels: 音频通道数。 -
frame_size: 每个音频帧的大小。 -
bit_rate: 音频比特率。 -
profile: 编码器的配置文件,影响编码质量和复杂性。
#define FF_PROFILE_UNKNOWN -99
#define FF_PROFILE_RESERVED -100
#define FF_PROFILE_AAC_MAIN 0
#define FF_PROFILE_AAC_LOW 1
#define FF_PROFILE_AAC_SSR 2
#define FF_PROFILE_AAC_LTP 3
#define FF_PROFILE_AAC_HE 4
#define FF_PROFILE_AAC_HE_V2 28
#define FF_PROFILE_AAC_LD 22
#define FF_PROFILE_AAC_ELD 38
#define FF_PROFILE_MPEG2_AAC_LOW 128
#define FF_PROFILE_MPEG2_AAC_HE 131
#define FF_PROFILE_DNXHD 0
#define FF_PROFILE_DNXHR_LB 1
#define FF_PROFILE_DNXHR_SQ 2
#define FF_PROFILE_DNXHR_HQ 3
#define FF_PROFILE_DNXHR_HQX 4
#define FF_PROFILE_DNXHR_444 5
#define FF_PROFILE_DTS<

本文详细介绍了FFmpeg中AVCodecContext结构体的关键字段,包括编解码器选择、媒体类型、视频和音频参数设置,如分辨率、像素格式、码率、时间基等,以及音频采样格式。这些参数对于理解音视频处理流程和技术配置至关重要。
最低0.47元/天 解锁文章
2166

被折叠的 条评论
为什么被折叠?



