ffmpeg 和 x264的參數對照
| x264 |
|
ffmpeg |
|
說明 |
| 命令行 |
字段 |
命令行 |
字段 |
|
| qp qp_constant |
cqp |
|
cqp |
固定量化因子。取值范圍0到51。 經常取值在20-40之間,越小質量 越好,要求的碼率越高。0表示無損壓縮 |
| max-keyint |
i_keyint_max |
g |
gop_size |
關鍵幀的最大間隔幀數 |
| min-keyint |
i_keyint_min |
|
keyint_min |
關鍵幀的最小間隔幀數 |
| level |
i_level_idc |
|
level |
取值范圍10-51。 設置比特流的Level。默認40,即4.0。 用來告訴解碼器需要支持的什么級別的 兼容性。只有在你知道自己在做什么的 時候才設置該參數。 |
| frameref |
i_frame_reference |
|
refs |
B和P幀向前預測參考的幀數。取值范 圍1-16。 該值不影響解碼的速度,但是越大解碼 所需的內存越大。這個值在一般情況下 越大效果越好,但是超過6以后效果就 不明顯了。 |
| bframes |
i_bframe |
|
max_b_frames |
最大B幀數. |
| b-adapt |
b_bframe_adaptive |
|
b_frame_strategy |
如果為true,則自動決定什么時候需要 插入B幀,最高達到設置的最大B幀數。 如果設置為false,那么最大的B幀數被 使用。 |
| b-pyramid |
b_bframe_pyramid |
|
FLAGS2(CODEC_FLAG2_BPYRAMID) |
當設置B幀>=2時候,通過開啟這個選 項可以獲得質量的略微提高,但是沒有 任何的速度損失。 |
|
|
b_deblocking_filter |
|
FLAGS(CODEC_FLAG_LOOP_FILTER) |
|
| deblock |
i_deblocking_filter_alphac0 |
|
deblockalpha |
|
| cabac |
b_cabac |
|
coder_type(FF_CODER_TYPE_AC) |
使用CABAC熵編碼技術,為引起輕微的 編碼和解碼的速度損失,但是可以提高 10%-15%的編碼質量。 |
| qmin |
i_qp_min |
|
qmin |
最小的量化因子。取值范圍1-51。建 議在10-30之間。 |
| qmax |
i_qp_max |
|
qmax |
最大的量化因子。取值范圍1-51。建 議在10-30之間。 |
| qpstep qp-step |
i_qp_step |
|
max_qdiff |
最大的在幀與幀之間進行切變的量化 因子的變化量。 |
| qcomp |
f_qcompress |
|
|
|
| vbv-maxrate |
i_vbv_max_bitrate |
b |
rc_max_rate |
允許的最大碼流,x264里面以kbps為 單位,ffmpeg以bps為單位 |
| vbv-bufsize |
i_vbv_buffer_size |
bufsize |
rc_buffer_size |
在指定vbv-maxrate的時候必須設置 該字段。 |
| vbv-init |
f_vbv_buffer_init |
|
rc_initial_buffer_occupancy |
初始的緩存占用量 |
| qcomp |
f_qcompress |
|
qcompress |
量化器壓縮比率0-1.越小則比特率 越區域固定,但是越高越使量化器 參數越固定。 |
| direct-pred direct |
i_direct_mv_pred |
|
directpred |
B幀里面采用的運動偵測的方式。 時間和空間方式大致PSNR和速度 是一致的。設置為auto質量會好一 些,但是速度會下降一些,設置為0 ,質量和速度都會下降.可以選擇 none, auto, temporal, spatial. |
| weightb weight-b |
b_weighted_bipred |
|
FLAGS2(CODEC_FLAG2_WPRED) |
當B幀設置>1時使用 |
| partitions analyse |
inter |
|
|
X264_ANALYSE_I4x4 X264_ANALYSE_I8x8 X264_ANALYSE_PSUB16x16 X264_ANALYSE_PSUB8x8 X264_ANALYSE_BSUB16x16 |
| 8x8dct |
b_transform_8x8 |
|
FLAGS(CODEC_FLAG2_8X8DCT) |
|
| me |
i_me_method |
|
me_method |
運動偵測的方式 ME_EPZS ME_HEX ME_UMH ME_FULL ME_ESA |
| me-range merange |
i_me_range |
|
me_range |
運動偵測的半徑 |
| subq subme |
i_subpel_refine |
|
me_subpel_quality |
這個參數控制在運動估算過程中質 量和速度的權衡。Subq=5可以壓 縮>10%於subq=1。1-7 |
| mixed-refs |
b_mixed_references |
|
FLAGS2(CODEC_FLAG2_MIXED_REFS) |
允許8*8,16*8運動塊獨立地選擇 參考幀,如果disable,則所有的宏 塊必須參考同一幀。 需要frameref > 1 |
| brdo |
b_bframe_rdo |
|
FLAGS2(CODEC_FLAG2_BRDO) |
需要subq>6 |
| bime |
b_bidir_me |
|
bidir_refine |
取值范圍:true,false.這個值在沒 有B幀的時候失效。在雙向預測宏塊中 雙向運動矢量使用。 |
| trellis |
i_trellis |
|
trellis |
|
| deadzone-intra |
i_luma_deadzone |
|
沒有對應值 |
|
| deadzone-inter |
i_luma_deadzone |
|
沒有對應值 |
|
| fast-pskip |
b_fast_pskip |
|
FLAGS(CODEC_FLAG2_FASTPSKIP) |
在P幀內執行早期快速跳躍探測。 這個經常在沒有任何損失的前提 下提高了速度。 |
| dct-decimate |
b_dct_decimate |
|
沒有對應值 |
|
| nr |
i_noise_reduction |
|
noise_reduction |
0意味着關閉,對於噪聲很大的 內容你需要打開。 范圍:0-100000 |
| interlaced |
b_interlaced |
|
沒有對應值 |
|
| global-header |
b_repeat_headers |
|
FLAGS(CODEC_FLAG_GLOBAL_HEADER) |
使得SPS和PPS只在流的開始處 產生一次。有些播放器,如SONY 的PSP需要開啟此參數。默認的設 置使得SPS和PPS在每一個IDR幀 開始出都進行重復。 |
| aud |
b_aud |
|
FLAGS2(CODEC_FLAG2_AUD) |
|
| threads |
i_threads |
|
thread_count |
將幀切分成塊,由不同的線程進行 分別編碼。0-4。 0 for auto |
| rc-eq |
psz_rc_eq |
|
rc_eq |
|
| --no-psnr |
b_psnr |
|
FLAGS(CODEC_FLAG_PSNR) |
是否開啟PSNR. |
| --no-ssim |
b_ssim |
|
沒有對應值 |
|
| --progress |
b_progress |
|
沒有對應值 |
|
| --bitrate |
i_bitrate |
b |
bit_rate |
編碼輸出的比特率,並啟用 ABR(Average Birtate 模式(i_rc_method), |
| qblur |
f_qblur |
|
qblur |
|
|
|
f_complexity_blur |
|
complexityblur |
|
