# 4.1 初始化视频编码器
**接口定义**:DWORD MediaCodec_VideoCodec_InitEncoder(MediaCodecContext* lpContext);
**返 回 值**:初始化成功返回 0,否则返回出错代码,或-1
**参 数**:
MediaCodecContext* lpContext CODEC 上下文句柄
**详细说明**:
AnyChat 内核会初始化上下文句柄中的“dwCodecId”、“dwWidth”、“dwHeight”、 “ dwFrameRate ”、“dwGopSize”、“ PixFmt ”、“ dwQuality ”、“ dwPreset ”以及 “dwBitrate”等参数。
大部分的 H.264 硬件编码器只在第一帧才输出 SPS、PPS 等初始化解码器所需要的重要参数信息,而 AnyChat 需要定期传输 SPS、PPS 等信息(随关键帧一起传输),则可按如下方式设置标志位:
lpContext->dwFlags |= MEDIACODEC_FLAGS_WANTSPSPPS;
设置 MEDIACODEC_FLAGS_WANTSPSPPS 标志后,AnyChat 内核将会保存第一帧的 SPS、PPS 等信息,当后续编码器输出关键帧时,则会自动将 SPS、PPS 等信息放在关键帧之前再传输。
视频的码率单位为:bps,当设置为 0 时,表示采用质量因子模式,可参考
“dwQuality”参数值来初始化编码器。