1 软编码流程
2 流程图说明
第一节的图中虚线框部分为视频格式封装部分,此处不说明。
编码主要步骤如下:
1)查找编码器
可以通过接口AVCodec *avcodec_find_encoder(enum AVCodecID id)设置,
比如,查找H264编码,设置id= AV_CODEC_ID_H264,即可找到H264编码器;
也可以通过AVCodec *avcodec_find_encoder_by_name(const char *name)设置 [常用此函数],
比如,查找H264编码,设置name=“libx264”,即可找到H264编码器。
2)设置编码器
首先,需申请编码器AVCodecContext,
根据AVCodec信息通过接口AVCodecContext *avcodec_alloc_context3(const AVCodec *codec)创建AVCodecContext,同时将AVCodec赋值给成员codec;
设置编码器参数,比如比特率(码率),帧率,分辨率,像素格式等
3)打开编码器
参数设置之后,可通过接口int avcodec_open2(AVCodecContext *avctx, const AVCodec *codec, AVDictionary **options)打开编码器。
Options可以设置编码器的相关属性,或