x264引數設定

2021-10-04 04:28:47 字數 3437 閱讀 5246

引數名稱

對應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....