引數名稱
對應x264引數
引數說明
預設值引數範圍
最大idr幀間隔
i_keyint_max
250最小idr幀間隔
i_keyint_min
該引數設定過小可能導致錯誤地插入idr幀,引數限制了插入idr幀的最小距離。建議設定等於幀速率。
25最***幀數
i_frame_reference
表示p幀可以使用其之前的多少幀作為參考幀,該值得選取與h264的標準有一定關係。
31~16
場景切換門限
i_scenecut_threshold
自動場景切換門限,根據其含義,表示場景變換的百分比。計算場景間的相似度,如果相似度小於該門限值則認為檢測到場景切換。如果此時距離上乙個idr幀的距離小於最小idr幀間隔,則插入乙個i幀,否則插入乙個idr幀。
400~100
最大b幀數量
i_bframe
i幀和p幀之間的b幀數量,若設定為0則表示不使用b幀,b幀會同時參考其前面與後面的幀,因此增加b幀數量可以提高壓縮比,但也因此會降低壓縮的速度。
3自適應b幀策略
i_bframe_adaptive
b幀插入策略,該策略決定使用p幀還是b幀,0=x264_b_adapt_none(總是使用b幀), 1=x264_b_adapt_fast(快速演算法),2=x264_b_adapt_trellis(最佳演算法),三種演算法的計算複雜度依次增加。
1參考b幀策略
i_bframe_pyramid
是否允許將b幀當作參考幀,0=x264_b_pyramid_none(關閉,不允許b幀作為參考幀),1=x264_b_pyramid_strict(嚴格分級,乙個影象組內只允許乙個b參考幀,藍光編碼的強制要求),2=x264_b_pyramid_normal(普通,可以隨意使用)
2b幀插入傾向
i_bframe_bias
影響插入b幀的傾向,越高越容易插入b幀,但是100也不能保證完全使用b幀。一般情況下不推薦修改。
0-100 ~ 100
最大緩衝幀數
i_lookahead
編碼器並不是對每來一幀就對一幀進行編碼,而是先儲存一定的幀,將該快取填充滿之後再開始編碼。該引數的設定會影
響壓縮的效果,同時調大該引數也能夠使得vbv獲得更精確的位元速率控制,但同時也會增加編碼的時間,提高實時編碼的時延。
40i_width
640i_height
480去塊濾波器
b_deblocking_filter
控制去塊濾波器是否開啟,推薦開啟
1alpha濾波器
i_deblocking_filter_alphac0
alpha去塊濾波器,取值範圍 -6 ~ 6 數字越大效果越強
0-6~6
beta濾波器
i_deblocking_filter_beta
beta去塊濾波器,取值範圍 -6 ~ 6 數字越大效果越強
0-6~6
碼控制方式
i_rc_method
設定速率控制的方法,可選項有:x264_rc_cqp(恆定量化)、x264_rc_crf(恆定質量)、x264_rc_abr(恆定位元速率),這三種位元速率控制方式是互斥的,一般而言恆定質量的方式都可以代替恆定量化方式,不過因為恆定量化無需做**,因此編碼速度上會更快一些,但是這也會導致最終的編碼後的檔案大小無法確定,相比之下,固定質量的方式會得到更高的壓縮比。
恆定質量
固定量化值
i_qp_constant
固定量化引數,0為無損,開啟該選項將會關閉自適應量化器。取值0表示無損。
-0 ~ 51
最大量化值
i_qp_min
允許的最小量化值
10最小量化值
i_qp_max
允許的最大量化值
51量化步長
i_qp_step
在兩幀影象之間所允許的最大量化值的變化步長
4平均位元速率
i_bitrate
編碼的位元速率,引數的量綱是 kilobits/sec 注意是bit,8bit = 1byte,設定該引數將導致編碼器會盡量使得檔案最終的整體位元速率與該引數設定得數值相等。
-位元速率偏差
f_rate_tolerance
給定可以偏離給定的平均的位元速率目標的百分比,最低為0.01,例如:1.0表示1%。另外該引數也與vbv有關,如果開啟了vbv的選項,該引數也會使得vbv在設定的值周圍波動。
1vbv位元速率
i_vbv_max_bitrate
0vbv緩衝
i_vbv_buffer_size
設定vbv的最大可用緩衝區,量綱為 kbit
0vbv初始填充
f_vbv_buffer_init
指定緩衝滿足一定百分比之後才能開始回放。引數小於等於1時是百分比,大於1時是kbit 0.9
固定質量值
f_rf_constant
數值越小質量越好
23最大質量值
f_rf_constant_max
-編碼幀的總數
i_frame_total編碼幀的總數
0level值
i_level_idc
level值會限制位元速率輸出
並行編碼多幀
i_threads
多執行緒編碼
執行緒超前緩衝
i_sync_lookahead
執行緒超前緩衝
色彩空間設定
i_csp
編碼位元流的csp,i420,nv12
i420
幀率設定
i_fps_num i_fps_den
參考幀i_frame_reference;
參考幀最大數目
最大關鍵幀
i_keyint_max
在此間隔設定idr關鍵幀
最小關鍵幀
i_keyint_min
場景切換少於次值編碼位i, 而不是 idr.
p幀間b幀數量
i_bframe
兩個相關影象間p幀的數目
b幀判定
i_bframe_adaptive
自適應b幀判定
插入b幀判定
i_bframe_bias
控制插入b幀判定,越高越容易插入b幀
-100~+100
0sps pps
b_repeat_headers
在每個關鍵幀前放置sps/pps
最大slice
i_slice_max_size
每片位元組的最大數,包括預計的nal開銷.
最大巨集塊數
i_slice_max_mbs
每片巨集塊的最大數,重寫 i_slice_count
slice數量
i_slice_count
每幀的像條數目: 設定矩形像條.
參考:1.
2.
X264的引數設定
原始 不詳 i keyint 整數 最大idr幀間距,預設250 i min keyint 整數 最小idr幀間距,預設25 scenecut 整數 畫面動態變化限,當超出此值時插入i幀,預設40 pre scenecut 更快,但低精度的畫面動態檢測,需要多執行緒,並且在啟用多執行緒時自動開啟。b...
X264的引數設定
原始 不詳 i keyint 整數 最大idr幀間距,預設250 i min keyint 整數 最小idr幀間距,預設25 scenecut 整數 畫面動態變化限,當超出此值時插入i幀,預設40 pre scenecut 更快,但低精度的畫面動態檢測,需要多執行緒,並且在啟用多執行緒時自動開啟。b...
x264編碼器引數設定
我對編碼也是一知半解,很多引數意義也不太清楚,基本都是實際調整引數後,效果。如果描述錯誤,勿噴。我也沒打算深入研究,只是想用用該編碼器。本人使用x264主要想調整的引數,第一,profile,也就是使用baseline還是main,還是high編碼。可以通過該介面設定 第二,編碼複雜度 param....