FFMPEG的編碼器的參數

常用參數

//平均碼率
pCodecCtx->bit_rate = 300000; 變小碼率畫質不清晰
//指定圖像中每個像素的顏色數據的格式
pCodecCtx->pix_fmt = PIX_FMT_YUV420P; 
//編碼視頻寬度
pCodecCtx->width = 1920;
//編碼視頻高度
pCodecCtx->height = 1080;
//編碼視頻幀率  25
pCodecCtx->time_base.num = 1;
pCodecCtx->time_base.den = 25;
//I幀間隔  250幀一個I幀
pCodecCtx->gop_size = 250;
//兩個非b幀之間b幀最大數 
pCodecCtx->max_b_frames = 0;
//最小量化因子 建議值 10~30
pCodecCtx->qmin = 10;測試結果:當QMIN升高或qmax降低,對視音頻質量和大小產生明顯影響
//最大量化因子
pCodecCtx->qmax = 51;測試結果:單純減少qmax值增大體積,但並不能提高畫質,還與其他因素有關
//運動估計的最大搜索範圍。跟運動補償有關,值越大,補償參考範圍越廣,越精確,編碼效率下降。
pCodecCtx->me_range = 16;
//幀間最大量化因子
pCodecCtx->max_qdiff = 4;
//壓縮變化的難易程度。值越大,越難壓縮變換,壓縮率越高,質量損失較大
pCodecCtx->qcompress = 0.6;
/*
preset有ultrafast,superfast,veryfast,faster,fast,medium,slow,slower,veryslow,placebo這10個級別,每個級別的preset對應一組編碼參數,不同級別的preset對應的編碼參數集不一致。preset級別越高,編碼速度越慢,解碼後的質量也越高;級別越低,速度也越快,解碼後的圖像質量也就越差,從左到右,編碼速度越來越慢,編碼質量越來越好
*/
AVDictionary* param = 0;
av_dict_set(&param, "preset", "superfast", 0);
av_dict_set(&param, "tune", "zerolatency", 0);

不積跬步無以至千里

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章