codec_id:代表了使用的编解码器的AVCodecID。 codec_type:媒体类型(视频、音频、字幕等),对应AVMediaType。 codec:指向实际的编解码器的指针。 bit_rate:码率,表示编解码的比特率。 width和height:对于视频流,分别表示视频的宽和高。 sample_aspect_ratio:表示视频像素的宽高比。 pix_fmt:对于视频流,表示像素格式...
if (codec_type == AVMEDIA_TYPE_AUDIO) { if (((stream.o_codec_ctx->codec->capabilities & AV_CODEC_CAP_VARIABLE_FRAME_SIZE) == 0) && (stream.i_codec_ctx->frame_size != stream.o_codec_ctx->frame_size)) { stream.aud_fifo = oafifo[stream_index]; ret = transcode_audio_with_afi...
在libavcodec/avcodec.h中的AVCodec结构体是定义FFmpeg编解码器的关键结构体,包括编解码器的名字、类型(声音/视频)、编解码器的识别号(CodecID)、支持格式和一些用于初始化、编码、解码和关闭的函数指针。 typedef struct AVCodec { const char *name; enum CodecType type; enum CodecID id; int priv_data_size...
codec_out_ctx->codec_id = AV_CODEC_ID_H264; codec_out_ctx->codec_type = AVMEDIA_TYPE_VIDEO; av_opt_set(codec_out_ctx->priv_data, "tune", "zerolatency", 0); if (codec_out->id == AV_CODEC_ID_H264) { // 相关的参数可以参考libx264.c的 AVOption options ret = av_opt_set(...
pCodecCtx->codec_type = AVMEDIA_TYPE_AUDIO; pCodecCtx->sample_fmt = outSampleFmt; pCodecCtx->sample_rate = sampleRate; pCodecCtx->channel_layout = AV_CH_LAYOUT_STEREO; pCodecCtx->channels = av_get_channel_layout_nb_channels(pCodecCtx->channel_layout); pCodecCtx->bit_rate = 64000;...
AVMEDIA_TYPE_SUBTITLE, AVMEDIA_TYPE_ATTACHMENT, ///< Opaque data information usually sparse AVMEDIA_TYPE_NB }; 2.enum AVCodecID id AVCodecID定义如下: enum AVCodecID { AV_CODEC_ID_NONE, /* video codecs */ AV_CODEC_ID_MPEG1VIDEO, ...
key_frame:该图像是否是关键帧,由 libavcodec 设置 pict_type:该图像的编码类型:Intra(1)/Predicted(2)/Bi-dir(3) 等,默认值是 NONE(0),其值由libavcodec设置 pts:呈现时间,编码时由用户设置 quality:从1(最好)到FF_LAMBDA_MAX(256*128-1,最差),编码时用户设置,默认值是0 ...
video_stream_ = input_ctx_->streams[video_stream_idx_];//新版本不再将音视频流信息直接保存到streams[video_stream_idx_]中,而是存放在AVCodecParammeters中(涉及format,width,height,codec_type等),该函数提供了转换if((ret =avcodec_parameters_to_context(decoder_ctx_, video_stream_->codecpar)) <0)...
switch (pAVCodecContext->codec_type) { case AVMEDIA_TYPE_UNKNOWN: LOG << "流序号:" << index << "类型为:" << "AVMEDIA_TYPE_UNKNOWN"; break; case AVMEDIA_TYPE_VIDEO: LOG << "流序号:" << index << "类型为:" << "AVMEDIA_TYPE_VIDEO"; ...
.type=AVMEDIA_TYPE_VIDEO, .id=CODEC_ID_H264, .init=X264_init, .encode=X264_frame, .decode=X264_decode, .close=X264_close, … }; 解码器的名字为s3cx264,类型为视频。CodecID为H264,表示这个解码器用于H.264视频编解码。初始化、编码、解码和关闭函数指针分别指向X264_init、X264_frame、X264...