# 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”參數值來初始化編碼器。