* -bf 指定輸出的碼流。
* -org 輸入的視頻源,支持 yuv.
* -sw 輸入視頻源的寬度。
* -sh 輸入視頻源的高度。
* -utype 編碼模式,共有四種:CAMERA_VIDEO_REAL_TIME, SCREEN_CONTENT_REAL_TIME, CAMERA_VIDEO_NON_REAL_TIME,SCREEN_CONTENT_NON_REAL_TIME. 即:實時相機內容編碼,實時屏幕內容編碼,非實時相機內容編碼,非實時屏幕內容編碼。
* -savc simulcast avc 的縮寫,編碼輸出為標準的 h.264/avc 流。
* -frms 視頻源需要編碼的幀數,從文件頭開始計算。
* -frin 視頻源碼率。
* -numtl 時域層數,默認為 1.
* -iper I 幀周期,默認為 -1. 在編碼器內會折合為 GOP 的 2-整冪次。
* -nalsize 最大 NAL 長度。
* -spsid 編碼參數集的策略。
* -cabac 熵編碼模式:0 為 Calvc, 1 為 CABAC.
* -complexity 編碼決策復雜度:0 是低復雜度,1 是中等復雜度,2 是高復雜度。默認值是 0。
* -denois 降噪模式,默認是關閉的。
* -scene 場景切換檢測,默認是關閉的。
* -bgd 背景檢測,默認是關閉的。
* -aq 自適應量化,默認是關閉的。
* -ltr 使用長期參考幀,默認是 0。
* -ltrnum 使用長期參考幀的數目,屏幕內容模式建議取 1~4,自然場景建議取 1~2.
* -ltrper 長期參考幀的插入周期。
* -threadIdc 編碼線程數。0 代表自動決定線程數,1 代表關閉多線程實現,>1 代表指定線程數。
* -loadbalancing 多線程模式下的負載均衡。0 表示關閉,1 表示開啟。默認是開啟的。
* -deblockIdc 去方塊濾波。0 表示關閉。
* -alphaOffset 去方塊濾波的 AlphaOffset, 取值范圍為-6~+6.
* -betaOffset 去方塊濾波的 BetaOffset, 取值范圍為-6~+6.
* -rc 碼率控制模式:-1 表示關閉,0 表示質量控制模式,1 表示碼率控制模式,2 表示緩沖控制模式,3 表示基于輸入時間戳的碼率控制模式。
* -tarb 總體目標碼率(針對多層輸出)。
* -maxbrTotal總體最大碼率。
* -maxqp 最大 QP。默認為 51,屏幕內容模式下為 35.
* -minqp 最小 QP。默認為 0,屏幕內容模式下為 26.
* -trace 日志等級。
* -fixrc 允許碼率控制超限。
* -numl 空域層數。
以下是對各空域層的控制參數。其格式為(n, val),第一個參數表示指定的層數,第二個參數表示指定的參數值:
* -lconfig 指定配置文件。
* -drec 指定重建流。
* -dprofile 指定 profile。所有層的 profile 必須一致。
* -dw 輸出寬度。
* -dh 輸出高度。
* -frout 輸出幀率。
* -lqp 基礎 QP。
* -ltarb 層上目標碼率。
* -lmaxb 層上最大碼率。
* -slcmd 空域層的 slice 模式。
下面是一個完全使用命令行(不引入配置文件)的例子:
h264enc -org xxx.yuv -sw 720 -sh 1280 -frin 30 -numtl 1 -numl 0 -savc 1 -tarb 3000 -maxbrTotal 4000 -dw 0 720 -dh 0 1280 -frout 0 30 -iper 120 -ltarb 0 3000 -lmaxb 0 4000 -ltr 1 -ltrnum 2 -rc 1 -bf zzz.264