查看“X264設定”的源代码
←
X264設定
跳到导航
跳到搜索
因为以下原因,您没有权限编辑本页:
您请求的操作仅限属于这些用户组的用户执行:ninja、
机器人
、
管理员
您可以查看和复制此页面的源代码。
{{TOCright}} 本頁說明所有x264參數之目的和用法。參數的排列相同於在<code>x264 --fullhelp</code>出現的順序。 參閱:[[X264統計資料輸出]]、[[X264統計資料檔案]]和[[X264編碼建議]]。 =x264設定= ==說明== x264帶有一些內置的文件。要閱讀此說明,執行<code>x264 --help</code>、<code>x264 --longhelp</code>或<code>x264 --fullhelp</code>。越後面的選項會提供越詳細的資訊。每条选项的具体命令行帮助界面正在开发中。 ==輸入== 以一個位置引數指定輸入的視訊。例如: x264.exe {{x|output}} NUL '''C:\input.avs''' x264 {{x|output}} /dev/null '''~/input.y4m''' 當輸入視訊是原始YUV格式時,還必須告訴x264視訊的解析度。你可能也要使用{{x|fps}}來指定幀率: x264.exe {{x|output}} NUL {{x|fps}} 25 '''{{x|input-res}} 1280x720''' D:\input.yuv x264 {{x|output}} /dev/null {{x|fps}} 30000/1001 '''{{x|input-res}} 640x480''' ~/input.yuv 详细的命令行使用方法参见[[X264使用介绍]] ==預設== 為了減少使用者花費時間和精力在命令列上而設計的一套系統。這些設定切換了什麼選項可以從<code>x264 --fullhelp</code>的說明裡得知。 ===profile=== '''預設值:無''' 限制輸出資料流的profile。如果指定了profile,它會覆寫所有其他的設定。所以如果指定了profile,將會保證得到一個相容的資料流。如果設了此選項,將會無法使用無失真(lossless)編碼({{x|qp}}<code> 0</code>或{{x|crf}}<code> 0</code>)。 如果播放裝置僅支援某個profile,則應該設此選項。大多數解碼器都支援High profile,所以沒有設定的必要。 可用的值:<code>baseline, main, high, high10, high422, high444</code> ===preset=== '''預設值:medium''' 變更選項,以權衡壓縮效率和編碼速度。如果指定了preset,變更的選項將會在套用所有其他的參數之前套用。 通常應該將此選項設為所能忍受的最慢一個。 可用的值:<code>ultrafast, superfast, veryfast, faster, fast, medium, slow, slower, veryslow, placebo</code> ===tune=== '''預設值:無''' 調整選項,以進一步最佳化為視訊的內容。如果指定了tune,變更的選項將會在{{x|preset}}之後,但所有其他的參數之前套用。 如果視訊的內容符合其中一個可用的調整值,則可以使用此選項,否則不要使用。 可用的值:<code>film, animation, grain, stillimage, psnr, ssim, fastdecode, zerolatency</code> ===slow-firstpass=== '''預設值:無''' 使用{{x|pass}}<code> 1</code>會在解析命令列的最後套用以下設定: * {{x|ref}}<code> 1</code> * {{x|no-8x8dct}} * {{x|partitions}}<code> i4x4</code> (如果最初有啟用,否則為無) * {{x|me}}<code> dia</code> * {{x|subme}} MIN(2, subme) * {{x|trellis}}<code> 0</code> 可以使用{{x|slow-firstpass}}來停用此功能。 注意:使用{{x|preset}}<code> placebo</code>也會啟用slow-firstpass。 '''參閱:'''{{x|pass}} ==幀類型選項== ===keyint=== '''預設值:250''' 設定x264輸出的資料流之最大IDR幀(亦稱為關鍵幀)間隔。可以指定<code>infinite</code>讓x264永遠不要插入非場景變更的IDR幀。 IDR幀是資料流的“分隔符號”,所有幀都無法從IDR幀的另一邊參照資料。因此,IDR幀也是I幀,所以它們不從任何其他幀參照資料。這意味著它們可以用作視訊的搜尋點(seek points)。 注意,I幀通常明顯大於P/B幀(在低動態場景通常為10倍大或更多),所以當它們與極低的VBV設定合併使用時會打亂位元率控制。在這些情況下,研究{{x|intra-refresh}}。 預設值對於大多數視訊沒啥問題。在為藍光、廣播、即時資料流或某些其他特殊情況編碼時,可能需要更小的GOP長度(通常等於幀率)。 '''參閱:'''{{x|min-keyint}}, {{x|scenecut}}, {{x|intra-refresh}} ===min-keyint=== '''預設值:自動 (MIN({{x|keyint}} / 10, {{x|fps}}))''' 設定IDR幀之間的最小長度。 IDR幀的說明可以參閱{{x|keyint}}。過小的keyint距離會導致“不正確的”IDR幀位置(例如閃屏場景)。此選項限制在每個IDR幀之後,要有多少幀才可以再有另一個IDR幀的最小長度。 min-keyint的最大允許值是{{x|keyint}}/2+1。 '''建議:'''預設值,或者等於幀率 '''參閱:'''{{x|keyint}}, {{x|scenecut}} ===no-scenecut=== '''預設值:無''' 完全停用彈性I幀決策(adaptive I-frame decision)。 '''參閱:'''{{x|scenecut}} ===scenecut=== '''預設值:40''' 設定配置I/IDR幀的閾值(場景變更偵測)。 x264為每一幀計算一個度量值,來估計與前一幀的不同程度。如果該值低於scenecut,則算偵測到一個“場景變更”。如果此時與最近一個IDR幀的距離低於{{x|min-keyint}},則放置一個I幀,否則放置一個IDR幀。越大的scenecut值會增加偵測到場景變更的數目。場景變更是如何比較的詳細資訊可以參閱[http://forum.doom9.org/showthread.php?t=121116 http://forum.doom9.org/showthread.php?t=121116]。 將scenecut設為0相當於設定{{x|no-scenecut}}。 '''建議:'''預設值 '''參閱:'''{{x|keyint}}, {{x|min-keyint}}, {{x|no-scenecut}} ===intra-refresh=== '''預設值:無''' 停用IDR幀,作為替代x264會為每隔{{x|keyint}}個幀的每個巨集區塊(macroblock)使用內部編碼(intra coding)。區塊是以一個水平捲動的行刷新,稱為刷新波(refresh wave)。這有利於低延遲的資料流,使它有可能比標準的IDR幀達到更加固定的幀大小。它也增強了視訊資料流對封包遺失的恢復能力。此選項會降低壓縮效率,因此必要時才使用。 有趣的事: * 第一幀仍然是IDR幀。 * 內部區塊(Intra-blocks)僅處於P幀裡,刷新波在一或多個B幀後的第一個P幀更廣泛。 * 壓縮效率的損失主要來自於在刷新波上左側(新)的巨集區塊無法參照右側(舊)的資料。 ===bframes=== '''預設值:3''' 設定x264可以使用的最大並行B幀數。 沒有B幀時,一個典型的x264資料流有著像這樣的幀類型:IPPPPP...PI。當設了<code>--bframes 2</code>時,最多兩個連續的P幀可以被B幀取代,就像:IBPBBPBPPPB...PI。 B幀類似於P幀,除了B幀還能從它之後的幀做動態預測(motion prediction)。就壓縮比來說效率會大幅提高。它們的平均品質是由{{x|pbratio}}所控制。 有趣的事: * x264還區分兩種不同種類的B幀。"B"是代表一個被其他幀作為參照幀的B幀(參閱{{x|b-pyramid}}),而"b"則代表一個不被其他幀作為參照幀的B幀。如果看到一段混合的"B"和"b",原因通常與上述有關。當差別並不重要時,通常就以"B"代表所有B幀。 * x264是如何為每個候選幀選定為P幀或B幀的詳細資訊可以參閱[http://article.gmane.org/gmane.comp.video.ffmpeg.devel/29064 http://article.gmane.org/gmane.comp.video.ffmpeg.devel/29064]。在此情況下,幀類型看起來會像這樣(假設<code>--bframes 3</code>):IBBBPBBBPBPI。 '''參閱:'''{{x|b-bias}}, {{x|b-pyramid}}, {{x|ref}}, {{x|pbratio}}, {{x|partitions}}, {{x|weightb}} ===b-adapt=== '''預設值:1''' 設定彈性B幀配置決策演算法。此設定控制x264如何決定要放置P幀或B幀。 : <code>0</code>:停用,總是挑選B幀。這與舊的<code>no-b-adapt</code>設定相同作用。 : <code>1</code>:“快速”演算法,較快,越大的{{x|bframes}}值會稍微提高速度。當使用此模式時,基本上建議搭配{{x|bframes}}<code> 16</code>使用。 : <code>2</code>:“最佳”演算法,較慢,越大的{{x|bframes}}值會大幅降低速度。 注意:對於多重階段(multi-pass)編碼,僅在第一階段(first pass)才需要此選項,因為幀類型在此時已經決定完了。 ===b-bias=== '''預設值:0''' 控制使用B幀而不使用P幀的可能性。大於0的值增加偏向B幀的加權,而小於0的值則相反。此值是一個任意計量。範圍是從-100到100。100並不保證全是B幀(要全是B幀該使用{{x|b-adapt}}<code> 0</code>),而-100也不保證全是P幀。 僅在你認為能比x264做出更好的位元率控制決策時才使用此選項。 '''參閱:'''{{x|bframes}}, {{x|ipratio}} ===b-pyramid=== '''預設值:normal''' 允許B幀作為其他幀的參照幀。沒有此設定時,幀只能參照I/P幀。雖然I/P幀因其較高的品質作為參照幀更有價值,但B幀也是很有用的。作為參照幀的B幀會得到一個介於P幀和普通B幀之間的量化值。b-pyramid需要至少兩個以上的{{x|bframes}}才會運作。 如果是在為藍光編碼,須使用<code>none</code>或<code>strict</code>。 : <code>none</code>:不允許B幀作為參照幀。 : <code>strict</code>:每minigop允許一個B幀作為參照幀,這是藍光標準強制執行的限制。 : <code>normal</code>:每minigop允許多個B幀作為參照幀。 '''參閱:'''{{x|bframes}}, {{x|ref}}, {{x|no-mixed-refs}} ===open-gop=== '''預設值:無''' open-gop是一個提高效率的編碼技術。某些解碼器不完全支援open-gop資料流,這就是為什麼它並未預設為啟用。你應該測試所有可能用來撥放此資料流的解碼器,或者(假如可能的話)等到open-gop支援已全面普及。 open-gop的說明可以參閱[http://forum.doom9.org/showthread.php?p=1300124#post1300124 http://forum.doom9.org/showthread.php?p=1300124#post1300124]。 ===no-cabac=== '''預設值:無''' 停用彈性內容的二進位算數編碼(CABAC:'''C'''ontext '''A'''daptive '''B'''inary '''A'''rithmetic '''C'''oder)資料流壓縮,切換回效率較低的彈性內容的可變長度編碼(CAVLC:'''C'''ontext '''A'''daptive '''V'''ariable '''L'''ength '''C'''oder)系統。大幅降低壓縮效率(通常10~20%)和解碼的硬體需求。 ===ref=== '''預設值:3''' 控制解碼圖片緩衝(DPB:'''D'''ecoded '''P'''icture '''B'''uffer)的大小。範圍是從0到16。總之,此值是每個P幀可以使用先前多少幀作為參照幀的數目(B幀可以使用的數目要少一或兩個,取決於它們是否作為參照幀)。可以被參照的最小ref數是1。 還要注意的是,H.264規格限制了每個level的DPB大小。如果遵守[http://en.wikipedia.org/wiki/H.264/MPEG-4_AVC#Levels Level 4.1]規格,720p和1080p視訊的最大ref數分別是9和4。 '''參閱:'''{{x|b-pyramid}}, {{x|no-mixed-refs}}, {{x|level}} ===no-deblock=== '''預設值:無''' 完全停用循環濾鏡(loop filter)。不建議。 '''參閱:'''{{x|deblock}} ===deblock=== '''預設值:0:0''' 控制循環濾鏡(亦稱為持續循環去區塊(inloop deblocker)),這是H.264標準的一部分。就性價比來說非常有效率。 可以在[http://forum.doom9.org/showthread.php?t=109747 http://forum.doom9.org/showthread.php?t=109747]找到loop濾鏡的參數是如何運作的說明(參閱第一個帖子和akupenguin的回覆)。 '''參閱:'''{{x|no-deblock}} ===slices=== '''預設值:無''' 設定每幀的切片數,而且強制為矩形切片(會被{{x|slice-max-size}}或{{x|slice-max-mbs}}覆寫)。 如果是在為藍光編碼,將值設為4。否則,不要使用此選項,除非你知道真的有必要。 '''參閱:'''{{x|slice-max-size}}, {{x|slice-max-mbs}} ===slice-max-size=== '''預設值:無''' 設定最大的切片大小(單位是位元組),包括估計的NAL額外負荷(overhead)。(目前與{{x|interlaced}}不相容) '''參閱:'''{{x|slices}} ===slice-max-mbs=== '''預設值:無''' 設定最大的切片大小(單位是巨集區塊)。(目前與{{x|interlaced}}不相容) '''參閱:'''{{x|slices}} ===tff=== '''預設值:無''' 啟用交錯式編碼並指定頂場優先(top field first)。x264的交錯式編碼使用MBAFF,本身效率比漸進式編碼差。出於此原因,僅在打算於交錯式顯示器上播放視訊時,才應該編碼為交錯式(或者視訊在送給x264之前無法進行去交錯)。此選項會自動啟用{{x|pic-struct}}。 ===bff=== '''預設值:無''' 啟用交錯式編碼並指定底場優先(bottom field first)。詳細資訊可以參閱{{x|tff}}。 ===constrained-intra=== '''預設值:無''' 啟用限制的內部預測(constrained intra prediction),這是SVC編碼的基礎層(base layer)所需要的。既然Everyone<sup>TM</sup>忽略SVC,你同樣可以忽略此選項。 ===pulldown=== '''預設值:none''' 使用其中一個預設模式將漸進式、固定幀率的輸入資料流標誌上軟膠捲過帶(soft telecine)。軟膠捲過帶在[http://trac.handbrake.fr/wiki/Telecine http://trac.handbrake.fr/wiki/Telecine]有更詳細的解釋。 可用的預設:<code>none, 22, 32, 64, double, triple, euro</code> 指定除了<code>none</code>以外的任一模式會自動啟用{{x|pic-struct}}。 ===fake-interlaced=== '''預設值:無''' 將資料流標記為交錯式,即使它並未以交錯式來編碼。用於編碼25p和30p為符合藍光標準的視訊。 ===frame-packing=== '''預設值:無''' 如果在編碼3D視訊,此參數設定一個位元資料流(bitstream)旗標,用來告訴解碼器此3D視訊是如何封裝的。相關的值和它們的意義可以從<code>x264 --fullhelp</code>的說明裡得知。 ==位元率控制== ===qp=== '''預設值:無''' 三種位元率控制方法之一。設定x264以固定量化值('''C'''onstant '''Q'''uantizer)模式來編碼視訊。這裡給的值是指定P幀的量化值。I幀和B幀的量化值則是從{{x|ipratio}}和{{x|pbratio}}中取得。CQ模式把某個量化值作為目標,這意味著最終檔案大小是未知的(雖然可以透過一些方法來準確地估計)。將值設為0會產生無失真輸出。對於相同視覺品質,qp會比{{x|crf}}產生更大的檔案。qp模式也會停用彈性量化,因為按照定義“固定量化值”意味著沒有彈性量化。 此選項與{{x|bitrate}}和{{x|crf}}互斥。各種位元率控制系統的詳細資訊可以參閱[http://git.videolan.org/?p=x264.git;a=blob_plain;f=doc/ratecontrol.txt;hb=HEAD http://git.videolan.org/?p=x264.git;a=blob_plain;f=doc/ratecontrol.txt;hb=HEAD]。 雖然qp不需要lookahead來執行因此速度較快,但通常應該改用{{x|crf}}。 '''參閱:'''{{x|bitrate}}, {{x|crf}}, {{x|ipratio}}, {{x|pbratio}} ===bitrate=== '''預設值:無''' 三種位元率控制方法之二。以目標位元率模式來編碼視訊。目標位元率模式意味著最終檔案大小是已知的,但最終品質則未知。x264會嘗試把給定的位元率作為整體平均值來編碼視訊。參數的單位是千位元/秒(8位元=1位元組)。注意,1千位元(kilobit)是1000位元,而不是1024位元。 此設定通常與{{x|pass}}在兩階段(two-pass)編碼一起使用。 此選項與{{x|qp}}和{{x|crf}}互斥。各種位元率控制系統的詳細資訊可以參閱[http://git.videolan.org/?p=x264.git;a=blob_plain;f=doc/ratecontrol.txt;hb=HEAD http://git.videolan.org/?p=x264.git;a=blob_plain;f=doc/ratecontrol.txt;hb=HEAD]。 '''參閱:'''{{x|qp}}, {{x|crf}}, {{x|ratetol}}, {{x|pass}}, {{x|stats}} ===crf=== '''預設值:23.0''' 最後一種位元率控制方法:固定位元率係數('''C'''onstant '''R'''ate'''f'''actor)。當qp是把某個量化值作為目標,而bitrate是把某個檔案大小作為目標時,crf則是把某個“品質”作為目標。構想是讓crf n提供的視覺品質與qp n相同,只是檔案更小一點。crf值的度量單位是“位元率係數(ratefactor)”。 CRF是藉由降低“較不重要”的幀之品質來達到此目的。在此情況下,“較不重要”是指在複雜或高動態場景的幀,其品質不是很耗費位元數就是不易察覺,所以會提高它們的量化值。從這些幀裡所節省下來的位元數被重新分配到可以更有效利用的幀。 CRF花費的時間會比兩階段編碼少,因為兩階段編碼中的“第一階段”被略過了。另一方面,要預測CRF編碼的最終位元率是不可能的。根據情況哪種位元率控制模式更好是由你來決定。 此選項與{{x|qp}}和{{x|bitrate}}互斥。各種位元率控制系統的詳細資訊可以參閱[http://git.videolan.org/?p=x264.git;a=blob_plain;f=doc/ratecontrol.txt;hb=HEAD http://git.videolan.org/?p=x264.git;a=blob_plain;f=doc/ratecontrol.txt;hb=HEAD]。 '''參閱:'''{{x|qp}}, {{x|bitrate}} ===rc-lookahead=== '''預設值:40''' 設定mb-tree位元率控制和vbv-lookahead使用的幀數。最大允許值是250。 對於mb-tree部分,增加幀數帶來更好的效果但也會更慢。mb-tree使用的最大緩衝值是MIN(rc-lookahead, {{x|keyint}})。 對於vbv-lookahead部分,當使用vbv時,增加幀數帶來更好的穩定性和準確度。vbv-lookahead使用的最大值是: MIN(rc-lookahead, MAX({{x|keyint}}, MAX({{x|vbv-maxrate}}, {{x|bitrate}}) / {{x|vbv-bufsize}} * {{x|fps}})) '''參閱:'''{{x|no-mbtree}}, {{x|vbv-bufsize}}, {{x|vbv-maxrate}}, {{x|sync-lookahead}} ===vbv-maxrate=== '''預設值:0''' 設定重新填滿VBV緩衝的最大位元率。 VBV會降低品質,所以必要時才使用。 '''參閱:'''{{x|vbv-bufsize}}, {{x|vbv-init}}, [[X264編碼建議#VBV編碼|VBV編碼建議]] ===vbv-bufsize=== '''預設值:0''' 設定VBV緩衝的大小(單位是千位元)。 VBV會降低品質,所以必要時才使用。 '''參閱:'''{{x|vbv-maxrate}}, {{x|vbv-init}}, [[X264編碼建議#VBV編碼|VBV編碼建議]] ===vbv-init=== '''預設值:0.9''' 設定在視訊開始播放前VBV緩衝必須填滿多少。 如果值小於1,初始的填滿量是:vbv-init * vbv-bufsize。否則該值即是初始的填滿量(單位是千位元)。 '''參閱:'''{{x|vbv-maxrate}}, {{x|vbv-bufsize}}, [[X264編碼建議#VBV編碼|VBV編碼建議]] ===crf-max=== '''預設值:無''' 一個類似{{x|qpmax}}的設定,除了指定的是最大位元率係數而非最大量化值。當使用{{x|crf}}且啟用VBV時,此選項才會運作。它阻止x264降低位元率係數(亦稱為“品質”)到低於給定的值,即使這樣做會違反VBV的條件約束。此設定主要適用於自訂資料流伺服器。詳細資訊可以參閱[http://git.videolan.org/gitweb.cgi/x264.git/?a=commit;h=81eee062a4ce9aae1eceb3befcae855c25e5ec52 http://git.videolan.org/gitweb.cgi/x264.git/?a=commit;h=81eee062a4ce9aae1eceb3befcae855c25e5ec52]。 '''參閱:'''{{x|crf}}, {{x|vbv-maxrate}}, {{x|vbv-bufsize}} ===qpmin=== '''預設值:0''' 定義x264可以使用的最小量化值。量化值越小,輸出視訊就越接近輸入視訊。到了一定的值,x264的輸出視訊看起來會跟輸入視訊一樣,即使它並不完全相同。通常沒有理由允許x264花費比這更多的位元數在任何特定的巨集區塊上。 當彈性量化啟用時(預設啟用),不建議提高qpmin,因為這會降低幀裡面平滑背景區域的品質。 '''參閱:'''{{x|qpmax}}, {{x|ipratio}} '''关于qpmin的预设值:'''在x264 r1795版本之前,该选项预设值为10。 ===qpmax=== '''預設值:69''' 定義x264可以使用的最大量化值。預設值69是H.264規格可供使用的最大量化值,而且品質極低。此預設值有效地停用了qpmax。如果想要限制x264可以輸出的最低品質,可以將此值設小一點(通常在30~40範圍是你會想嘗試的值),但通常並不建議調整此值。 '''參閱:'''{{x|qpmin}}, {{x|pbratio}}, {{x|crf-max}} ===qpstep=== '''預設值:4''' 設定兩幀之間量化值的最大變更幅度。 ===ratetol=== '''預設值:1.0''' 此參數有兩個目的: * 在一階段位元率編碼時,此設定控制x264可以偏離目標平均位元率的百分比。可以指定<code>inf</code>來完全停用溢出偵測(overflow detection)。可以設定的最小值是0.01。值設得越大,x264可以對接近電影結尾的複雜場景作出越好的反應。此目的的度量單位是百分比(例如,1.0等於允許1%的位元率偏差)。 :: 很多電影(例如動作片)在電影結尾時是最複雜的。因為一階段編碼並不知道這一點,結尾所需的位元數通常被低估。將ratetol設為<code>inf</code>可以減輕此情況,藉由允許編碼以更像{{x|crf}}的模式運行,但檔案大小會暴增。 * 當VBV啟用時(即指定了--vbv-開頭的選項),此設定也會影響VBV的強度。值設得越大,允許VBV在冒著可能違反VBV設定的風險下有越大的波動。此目的的度量單位是任意的。 ===ipratio=== '''預設值:1.40''' 修改I幀量化值相比P幀量化值的目標平均增量。越大的值會提高I幀的品質。 '''參閱:'''{{x|pbratio}} ===pbratio=== '''預設值:1.30''' 修改B幀量化值相比P幀量化值的目標平均減量。越大的值會降低B幀的品質。當mbtree啟用時(預設啟用),此設定無作用,mbtree會自動計算最佳值。 '''參閱:'''{{x|ipratio}} ===chroma-qp-offset=== '''預設值:0''' 在編碼時增加色度(chroma)平面量化值的偏移。偏移可以為負數。 當使用psy的選項啟用時(psy-rd、psy-trellis),x264會自動將此值再減去2,以補償因這些最佳化而過度地偏好亮度(luma)細節。 注意:x264僅在同一量化值編碼亮度平面和色度平面,直到量化值29。在此之後,色度逐步以比亮度低的量被量化,直到亮度在q51和色度在q39為止。此行為是由H.264標準所要求。 ===aq-mode=== '''預設值:1''' 彈性量化模式。沒有AQ時,x264很容易分配不足的位元數到細節較少的部分。AQ是用來更好地分配視訊裡所有巨集區塊之間的可用位元數。此設定變更AQ會重新分配位元數到什麼範圍裡: : <code>0</code>:完全不使用AQ。 : <code>1</code>:允許AQ重新分配位元數到整個視訊和幀內。 : <code>2</code>:自動變化(Auto-variance)AQ,會嘗試對每幀調整強度。(實驗性的) '''參閱:'''{{x|aq-strength}} ===aq-strength=== '''預設值:1.0''' 彈性量化強度。設定AQ偏向低細節(平滑)的巨集區塊之強度。不允許為負數。0.0~2.0以外的值不建議。 '''參閱:'''{{x|aq-mode}} ===pass=== '''預設值:無''' 此為兩階段編碼的一個重要設定。它控制x264如何處理{{x|stats}}檔案。有三種設定: : <code>1</code>:建立一個新的統計資料檔案。在第一階段使用此選項。 : <code>2</code>:讀取統計資料檔案。在最終階段使用此選項。 : <code>3</code>:讀取統計資料檔案並更新。 統計資料檔案包含每個輸入幀的資訊,可以輸入到x264以改善輸出品質。構想是執行第一階段來產生統計資料檔案,然後第二階段將建立一個最佳化的視訊編碼。改善的地方主要是從更好的位元率控制中獲益。 '''參閱:'''{{x|stats}}, {{x|bitrate}}, {{x|slow-firstpass}}, [[X264統計資料檔案]] ===stats=== '''預設值:"x264_2pass.log"''' 設定x264讀取和寫入統計資料檔案的位置。 '''參閱:'''{{x|pass}}, [[X264統計資料檔案]] ===no-mbtree=== '''預設值:無''' 停用巨集區塊樹(macroblock tree)位元率控制。使用巨集區塊樹位元率控制會改善整體壓縮率,藉由追蹤跨幀的時間傳播(temporal propagation)並相應地加權。除了已經存在的統計資料檔案之外,多重階段編碼還需要一個新的統計資料檔案。 '''建議:'''預設值 '''參閱:'''{{x|rc-lookahead}} ===qcomp=== '''預設值:0.60''' 量化值曲線壓縮係數。0.0是固定位元率,1.0則是固定量化值。 當mbtree啟用時,它會影響mbtree的強度(qcomp越大,mbtree越弱)。 '''建議:'''預設值 '''參閱:'''{{x|cplxblur}}, {{x|qblur}} ===cplxblur=== '''預設值:20.0''' 以給定的半徑範圍套用高斯模糊(gaussian blur)於量化值曲線。這意味著分配給每個幀的量化值會被它的鄰近幀模糊掉,以限制量化值的波動。 '''參閱:'''{{x|qcomp}}, {{x|qblur}} ===qblur=== '''預設值:0.5''' 在曲線壓縮之後,以給定的半徑範圍套用高斯模糊於量化值曲線。不怎麼重要的設定。 '''參閱:'''{{x|qcomp}}, {{x|cplxblur}} ===zones=== '''預設值:無''' 調整視訊的特定片段之設定。可以修改每區段的大多數x264選項。 * 一個單一區段的形式為<起始幀>,<結束幀>,<選項>。 * 多個區段彼此以"/"分隔。 '''選項:''' 這兩個是特殊選項。每區段只能設定其中一個,而且如果有設定其中一個,它必須為該區段列出的第一個選項: * b=<浮點數> 套用位元率乘數在此區段。在額外調整高動態和低動態場景時很有用。 * q=<整數> 套用固定量化值在此區段。在套用於一段範圍的幀時很有用。 其他可用的選項如下: * ref=<整數> * b-bias=<整數> * scenecut=<整數> * no-deblock * deblock=<整數>:<整數> * deadzone-intra=<整數> * deadzone-inter=<整數> * direct=<字串> * merange=<整數> * nr=<整數> * subme=<整數> * trellis=<整數> * (no-)chroma-me * (no-)dct-decimate * (no-)fast-pskip * (no-)mixed-refs * psy-rd=<浮點數>:<浮點數> * me=<字串> * no-8x8dct * b-pyramid=<字串> * crf=<浮點數> 限制: * 一個區段的參照幀數無法超過{{x|ref}}所指定的大小。 * 無法開啟或關閉scenecut;如果{{x|scenecut}}最初為開啟(>0),則只能改變scenecut的大小。 * 如果使用{{x|me}}<code> esa</code>/<code>tesa</code>,merange無法超過最初所指定的大小。 * 如果{{x|subme}}最初指定為0,則無法變更subme。 * 如果{{x|me}}最初指定為dia、hex或umh,則無法將me設為esa為tesa。 '''範例:'''0,1000,b=2/1001,2000,q=20,me=3,b-bias=-1000 '''建議:'''預設值 ===qpfile=== '''預設值:無''' 手動覆寫標準的位元率控制。指定一個檔案,為指定的幀賦予量化值和幀類型。格式為“幀號 幀類型 量化值”。例如: 0 I 18 < IDR (key) I-frame 1 P 18 < P-frame 2 B 18 < Referenced B-frame 3 i 18 < Non-IDR (non-key) I-frame 4 b 18 < Non-referenced B-frame 5 K 18 < Keyframe* * 不需要指定每個幀。 * 使用-1作為量化值允許x264自行選擇最佳的量化值,在只需設定幀類型時很有用。 * 在指定了大量的幀類型和量化值時仍然讓x264間歇地自行選擇,會降低x264的效能。 * "Keyframe"是一個泛用關鍵幀/搜尋點類型,如果{{x|open-gop}}未啟用則等同於一個IDR I幀,否則等同於一個加上Recovery Point SEI旗標的非IDR I幀。 ==分析== ===partitions=== '''預設值:p8x8,b8x8,i8x8,i4x4''' H.264視訊在壓縮過程中劃分為16x16的巨集區塊。這些區塊可以進一步劃分為更小的分割,這就是此選項要控制的部分。 此選項可以啟用個別分割。分割依不同幀類型(I、P、B)啟用。 可用的分割:<code>p8x8, p4x4, b8x8, i8x8, i4x4, none, all</code> * I:i8x8、i4x4。 * P:p8x8(亦會啟用p16x8/p8x16)、p4x4(亦會啟用p8x4/p4x8)。 * B:b8x8(亦會啟用b16x8/b8x16)。 p4x4通常不怎麼有用,而且性價比極低。 '''參閱:'''{{x|no-8x8dct}} ===direct=== '''預設值:spatial''' 設定"direct"動態向量(motion vectors)的預測模式。有兩種模式可用:<code>spatial</code>和<code>temporal</code>。可以指定<code>none</code>來停用direct動態向量,或指定<code>auto</code>來允許x264在兩者之間切換為適合的模式。如果設為<code>auto</code>,x264會在編碼結束時輸出使用情況的資訊。<code>auto</code>最適合用於兩階段編碼,但也可用於一階段編碼。在第一階段<code>auto</code>模式,x264持續記錄每個方法執行到目前為止的好壞,並從該記錄挑選下一個預測模式。注意,僅在第一階段有指定<code>auto</code>時,才應該在第二階段指定<code>auto</code>;如果第一階段不是指定<code>auto</code>,第二階段將會預設為<code>temporal</code>。<code>none</code>模式會浪費位元數,因此強烈不建議。 '''建議:'''auto ===no-weightb=== '''預設值:無''' H.264允許“加權”B幀的參照,它允許變更每個參照影響預測圖片的程度。此選項停用該功能。 '''建議:'''預設值 ===weightp=== '''預設值:2''' 使x264能夠使用明確加權預測(explicit weighted prediction)來改善P幀的壓縮率。亦改善淡入/淡出的品質。模式越高越慢。 注意:在為Adobe Flash編碼時,將值設為1,否則它的解碼器會產生不自然痕跡(artifacts)。Flash 10.1修正了此bug。 模式: : <code>0</code>:停用。 : <code>1</code>:簡易:分析淡入/淡出,但不分析重複參照幀。 : <code>2</code>:智慧:分析淡入/淡出和重複參照幀。 ===me=== '''預設值:hex''' 設定全像素(full-pixel)動態估算(motion estimation)的方法。有五個選項: : <code>dia</code>(diamond):最簡單的搜尋方法,起始於最佳預測器(predictor),檢查上、左、下、右方一個像素的動態向量,挑選其中最好的一個,並重複此過程直到它不再找到任何更好的動態向量為止。 : <code>hex</code>(hexagon):由類似策略組成,除了它使用周圍6點範圍為2的搜尋,因此叫做六邊形。它比<code>dia</code>更有效率且幾乎沒有變慢,因此作為一般用途的編碼是個不錯的選擇。 : <code>umh</code>(uneven multi-hex):比hex更慢,但搜尋複雜的多六邊形圖樣以避免遺漏難以找到的動態向量。不像hex和dia,merange參數直接控制umh的搜尋半徑,允許增加或減少廣域搜尋的大小。 : <code>esa</code>(exhaustive):一種在merange內整個動態搜尋空間的高度最佳化智慧搜尋。雖然速度較快,但數學上相當於搜尋該區域每個單一動態向量的暴力(bruteforce)方法。不過,它仍然比UMH還要慢,而且沒有帶來很大的好處,所以對於日常的編碼不是特別有用。 : <code>tesa</code>(transformed exhaustive):一種嘗試接近在每個動態向量執行Hadamard轉換法比較的效果之演算法,就像exhaustive,但效果好一點而速度慢一點。 '''參閱:'''{{x|merange}} ===merange=== '''預設值:16''' merange控制動態搜尋的最大範圍(單位是像素)。對於hex和dia,範圍限制在4~16。對於umh和esa,它可以增加到超過預設值16來允許範圍更廣的動態搜尋,對於HD視訊和高動態鏡頭很有用。注意,對於umh、esa和tesa,增加merange會大幅減慢編碼速度。 極大的merange(>64)不大可能找到任何新的動態向量是有用的,所以在某些情況下它可能非常輕微地降低壓縮率。 '''參閱:'''{{x|me}} ===mvrange=== '''預設值:-1 (自動)''' 設定動態向量的最大(垂直)範圍(單位是像素)。預設值依level不同: * Level 1/1b:64。 * Level 1.1~2.0:128。 * Level 2.1~3.0:256。 * Level 3.1+:512。 注意:如果想要手動覆寫mvrange,在設定時從上述值減去0.25(例如<code>--mvrange 127.75</code>)。 '''建議:'''預設值 ===mvrange-thread=== '''預設值:-1 (自動)''' 設定執行緒之間的最小動態向量緩衝。不要碰它。 '''建議:'''預設值 ===subme=== '''預設值:7''' 設定子像素(subpixel)估算複雜度。值越高越好。層級1~5只是控制子像素細分(refinement)強度。層級6為模式決策啟用RDO,而層級8為動態向量和內部預測模式啟用RDO。RDO層級明顯慢於先前的層級。 使用小於2的值不但會啟用較快且品質較低的lookahead模式,而且導致較差的{{x|scenecut}}決策,因此不建議。 可用的值: : <code>0</code>:Fullpel only : <code>1</code>:QPel SAD 1 iteration : <code>2</code>:QPel SATD 2 iterations : <code>3</code>:HPel on MB then QPel : <code>4</code>:Always QPel : <code>5</code>:Multi QPel + bi-directional motion estimation : <code>6</code>:RD on I/P frames : <code>7</code>:RD on all frames : <code>8</code>:RD refinement on I/P frames : <code>9</code>:RD refinement on all frames : <code>10</code>:QP-RD (requires {{x|trellis}}=2, {{x|aq-mode}}>0) : <code>11</code>:Full RD: disable all early terminations '''建議:'''預設值,或者更高,除非速度非常重要 ===psy-rd=== '''預設值:1.0:0.0''' 第一個數是Psy-RDO的強度(需要subme>=6)。第二個數是Psy-Trellis的強度(需要trellis>=1)。注意,Trellis仍然被視為“實驗性的”,而且幾乎可以肯定至少卡通不適合使用。 psy-rd的解釋可以參閱[http://forum.doom9.org/showthread.php?t=138293 http://forum.doom9.org/showthread.php?t=138293]。 ===no-psy=== '''預設值:無''' 停用所有會降低PSNR或SSIM的視覺最佳化。這也會停用一些無法透過x264的命令列引數設定的內部psy最佳化。 '''建議:'''預設值 ===no-mixed-refs=== '''預設值:無''' 混合參照會以每個8x8分割為基礎來選取參照,而不是以每個巨集區塊為基礎。當使用多個參照幀時這會改善品質,雖然要損失一些速度。設定此選項會停用該功能。 '''建議:'''預設值 '''參閱:'''{{x|ref}} ===no-chroma-me=== '''預設值:無''' 通常,亮度和色度兩個平面都會做動態估算。此選項停用色度動態估算來提高些微速度。 '''建議:'''預設值 ===no-8x8dct=== '''預設值:無''' 彈性8x8離散餘弦轉換(DCT)使x264能夠彈性使用I幀的8x8轉換。此選項停用該功能。 '''建議:'''預設值 ===trellis=== '''預設值:1''' 執行[http://en.wikipedia.org/wiki/Trellis_quantization Trellis quantization]來提高效率。 : <code>0</code>:停用。 : <code>1</code>:只在一個巨集區塊的最終編碼上啟用。 : <code>2</code>:在所有模式決策上啟用。 在巨集區塊時提供了速度和效率之間的良好平衡。在所有決策時則更加降低速度。 '''建議:'''預設值 '''注意:'''需要{{x|no-cabac|cabac}} ===no-fast-pskip=== '''預設值:無''' 停用P幀的早期略過偵測(early skip detection)。在低位元率時,適中地提高品質但要損失很多速度。在高位元率時,對速度和品質的影響都微不足道。 '''建議:'''預設值 ===no-dct-decimate=== '''預設值:無''' DCT Decimation會捨棄它認為“不必要的”DCT區塊。這會改善編碼效率,而降低的品質通常微不足道。設定此選項會停用該功能。 '''建議:'''預設值 ===nr=== '''預設值:0''' 執行快速的雜訊削減(noise reduction)。根據此值估算影片的雜訊,並藉由在量化之前捨棄小細節來嘗試移除雜訊。這可能比不上優良的外部雜訊削減濾鏡的品質,但它執行得非常快。 '''建議:'''預設值,或者100~1000 ===deadzone-inter/intra=== '''預設值:21/11''' 設定inter/intra亮度量化反應區(deadzone)的大小。反應區的範圍應該在0~32。此值設定x264會任意捨棄而不嘗試保留細微細節的層級。非常細微的細節既難以看見又耗費位元數,捨棄這些細節可以不用浪費位元數在視訊的此類低收益畫面上。反應區與{{x|trellis}}[http://forum.doom9.org/showthread.php?p=1031142#post1031142 不相容]。 '''建議:'''預設值 ===cqm=== '''預設值:flat''' 設定所有自訂量化矩陣(custom quantization matrices)為內建的預設之一。內建預設有<code>flat</code>和<code>JVT</code>。 '''建議:'''預設值 '''參閱:'''{{x|cqmfile}} ===cqmfile=== '''預設值:無''' 從一個指定的JM相容檔案來設定自訂量化矩陣。覆寫所有其他--cqm開頭的選項。 '''建議:'''預設值 '''參閱:'''{{x|cqm}} ===cqm4* / cqm8*=== '''預設值:無''' : <code>--cqm4</code>:設定所有4x4量化矩陣。需要16個以逗號分隔的整數清單。 : <code>--cqm8</code>:設定所有8x8量化矩陣。需要64個以逗號分隔的整數清單。 : <code>--cqm4i</code>、<code>--cqm4p</code>、<code>--cqm8i</code>、<code>--cqm8p</code>:設定亮度和色度量化矩陣。 : <code>--cqm4iy</code>、<code>--cqm4ic</code>、<code>--cqm4py</code>、<code>--cqm4pc</code>:設定個別量化矩陣。 '''建議:'''預設值 ==視訊可用性資訊== 這些選項在輸出資料流裡設定一個旗標,旗標可以被解碼器讀取並採取可能的動作。值得一提的是大多數選項在大多數情況下毫無意義,而且通常被解碼器忽略。 ===overscan=== '''預設值:undef''' 如何處理溢出掃描(overscan)。溢出掃描的意思是裝置只顯示影像的一部分。 可用的值: : <code>undef</code>:未定義。 : <code>show</code>:指示要顯示整個影像。理論上如果設了<code>show</code>則解碼器必須遵守。 : <code>crop</code>:指示此影像適合在有溢出掃描功能的裝置上播放。解碼器不一定遵守。 '''建議:'''在編碼之前裁剪(Crop)視訊,然後如果裝置支援就使用<code>show</code>,否則不用理會此選項 ===videoformat=== '''預設值:undef''' 指示此視訊在編碼/數位化之前是什麼格式。 可用的值:<code>component, pal, ntsc, secam, mac, undef</code> '''建議:'''來源視訊的格式,或者未定義 ===range=== '''預設值:auto''' 指示亮度和色度層級的輸出範圍是有限範圍或全範圍。如果設為<code>TV</code>,則會使用有限範圍。如果設為<code>auto</code>,則會使用與輸入視訊相同的範圍。 注意:如果range和{{x|input-range}}不同,則會進行範圍轉換。 詳細資訊可以參閱[http://en.wikipedia.org/wiki/YCbCr http://en.wikipedia.org/wiki/YCbCr]。 '''建議:'''預設值 '''參閱:'''{{x|input-range}} ===colorprim=== '''預設值:undef''' 設定以什麼色彩原色轉換成RGB。 可用的值:<code>undef, bt709, bt470m, bt470bg, smpte170m, smpte240m, film</code> 詳細資訊可以參閱[http://en.wikipedia.org/wiki/RGB_color_space http://en.wikipedia.org/wiki/RGB_color_space]和[http://en.wikipedia.org/wiki/YCbCr http://en.wikipedia.org/wiki/YCbCr]。 '''建議:'''預設值,除非你知道來源使用什麼色彩原色 ===transfer=== '''預設值:undef''' 設定要使用的光電子(opto-electronic)傳輸特性(設定用於修正的色差補正(gamma)曲線)。 可用的值:<code>undef, bt709, bt470m, bt470bg, linear, log100, log316, smpte170m, smpte240m</code> 詳細資訊可以參閱[http://en.wikipedia.org/wiki/Gamma_correction http://en.wikipedia.org/wiki/Gamma_correction]。 '''建議:'''預設值,除非你知道來源使用什麼傳輸特性 ===colormatrix=== '''預設值:undef''' 設定用於從RGB原色中取得亮度和色度的矩陣係數。 可用的值:<code>undef, bt709, fcc, bt470bg, smpte170m, smpte240m, GBR, YCgCo</code> 詳細資訊可以參閱[http://en.wikipedia.org/wiki/YCbCr http://en.wikipedia.org/wiki/YCbCr]。 '''建議:'''來源使用的矩陣,或者預設值 ===chromaloc=== '''預設值:0''' 設定色度採樣位置(如[http://www.itu.int/rec/T-REC-H.264/en ITU-T規格]的附錄E所定義) 可用的值:<code>0~5</code> 參閱[http://git.videolan.org/?p=x264.git;a=blob;f=doc/vui.txt x264的vui.txt]。 '''建議:''' * 如果是從正確次採樣4:2:0的MPEG1轉碼,而且沒有做任何色彩空間轉換,則應該將此選項設為1。 * 如果是從正確次採樣4:2:0的MPEG2轉碼,而且沒有做任何色彩空間轉換,則應該將此選項設為0。 * 如果是從正確次採樣4:2:0的MPEG4轉碼,而且沒有做任何色彩空間轉換,則應該將此選項設為0。 * 否則,維持預設值。 ===nal-hrd=== '''預設值:none''' 標誌HRD資訊。這是藍光資料流、電視廣播和幾個其他專業範圍所需要的。 可用的值: : <code>none</code>:不指定HRD資訊。 : <code>vbr</code>:指定HRD資訊。 : <code>cbr</code>:指定HRD資訊並以{{x|bitrate}}指定的位元率來封裝位元資料流。需要{{x|bitrate}}模式的位元率控制。 '''建議:'''預設值,除非需要標誌此資訊 '''參閱:'''{{x|vbv-bufsize}}, {{x|vbv-maxrate}}, {{x|aud}} ===pic-struct=== '''預設值:無''' 強制在Picture Timing SEI裡傳送pic_struct。 當使用{{x|pulldown}}或{{x|tff}}/{{x|bff}}時會自動啟用。 '''建議:'''預設值 ===crop-rect=== '''預設值:無''' 指定一個位元資料流層級的裁剪矩形。如果想要解碼器在播放時裁剪,但因為某些原因不想要裁剪視訊再讓x264編碼,則可以使用此選項。指定的值是在播放時應該被裁剪的像素。 ==輸入/輸出== ===output=== '''預設值:無''' 指定輸出檔名。指定的副檔名決定視訊的輸出格式。如果副檔名無法辨識,則預設輸出格式是raw視訊資料流(通常儲存為.264副檔名)。 特殊位置<code>NUL</code>(Windows)或<code>/dev/null</code>(Unix)指定輸出視訊應該被捨棄。這在使用{{x|pass}}<code> 1</code>時特別有用,因為你在乎的輸出資料只有{{x|stats}}。 ===muxer=== '''預設值:auto''' 指定要輸出什麼格式。 可用的值:<code>auto, raw, mkv, flv, mp4</code> <code>auto</code>選項會根據提供的輸出檔名挑選一個多工器(muxer)。 '''建議:'''預設值 '''參閱:'''{{x|output}} ===demuxer=== '''預設值:auto''' 設定x264要使用什麼解多工器(demuxer)和解碼器來剖析輸入視訊。 可用的值:<code>auto, raw, y4m, avs, lavf, ffms</code> 如果輸入檔案有raw、y4m或avs副檔名,則x264會使用相關的解多工器來讀取檔案。標準輸入會使用raw解多工器。否則,x264會嘗試以ffms來開啟檔案,然後再嘗試以lavf來開啟檔案,最後開啟失敗。 "lavf"和"ffms"選項需要x264以分別的程式庫編譯。如果使用到兩者之一,x264會從輸入檔案帶入時間碼(timecodes),條件是不能輸出為raw。這有效地使x264感知VFR。其他選項可以指定{{x|fps}}為固定幀率,或者指定{{x|tcfile-in}}為變動幀率。 '''建議:'''預設值 '''參閱:'''{{x|input}}, {{x|muxer}} ===input-csp=== '''預設值:無''' 告訴x264 raw視訊輸入是什麼色彩空間。支援的色彩空間可以從<code>x264 --fullhelp</code>的說明裡得知。 '''參閱:'''{{x|input-res}}, {{x|fps}} ===output-csp=== '''預設值:i420''' 告訴x264要輸出什麼色彩空間。 可用的值:<code>i420, i422, i444, rgb</code> '''參閱:'''{{x|input-csp}} ===input-depth=== '''預設值:無''' 指定raw視訊輸入的位元深度。 ===input-range=== '''預設值:auto''' 指定來源的亮度和色度層級範圍。可以設定<code>TV</code>為有限範圍或<code>PC</code>為全範圍。 注意:如果{{x|range}}和input-range不同,則會進行範圍轉換。 '''建議:'''預設值,除非你知道來源是TV或PC層級 '''參閱:'''{{x|range}} ===input-res=== '''預設值:無''' 指定raw視訊輸入的解析度。語法是<code>--input-res 720x576</code>。 '''參閱:'''{{x|input-csp}}, {{x|fps}} ===index=== '''預設值:無''' 一個只在使用ffms {{x|demuxer}}時才會生效的選擇性設定。為ffms指定一個檔案來寫入輸入視訊的索引資料,之後的編碼可以參照此檔案來免去重新建立索引的必要。通常不需要特別指定,索引進程與視訊編碼相比並不慢。 '''建議:'''預設值,除非想要節省建立索引的幾分鐘時間 '''參閱:'''{{x|demuxer}}, [http://ffmpegsource.googlecode.com/svn/trunk/doc/ffms2-api.html FFMS2 API文件] ===sar=== '''預設值:無''' 指定輸入視訊的採樣長寬比(SAR:'''S'''ample '''A'''spect '''R'''atio)。語法是<code>--sar 40:33</code>。 此設定與幀尺寸結合可以用來編碼anamorphic的輸出視訊,藉由以下公式來決定顯示長寬比(DAR:'''D'''isplay '''A'''spect '''R'''atio):DAR = SAR x width/height 詳細資訊可以參閱[http://en.wikipedia.org/wiki/Aspect_ratio_%28image%29#Distinctions http://en.wikipedia.org/wiki/Aspect_ratio_%28image%29#Distinctions] '''建議:'''如果有使用調整大小(resize)濾鏡且編碼anamorphic的輸入視訊,則可能需要設定此選項 ===fps=== '''預設值:自動''' 指定視訊幀率為浮點數(29.97)、比率(30000/1001)或整數(30)。當使用y4m、avs、ffms或lavf解多工器時,x264會使用從輸入資料流標頭(header)偵測到的幀率,否則使用25作為幀率。設定此選項會自動啟用{{x|force-cfr}}。 如果使用raw YUV輸入且{{x|bitrate}}為主的位元率控制,則需要使用此參數或{{x|tcfile-in}}來指定正確的幀率。否則x264不會達到你指定的目標位元率。 ===seek=== '''預設值:無''' 指定要編碼的初始幀,允許編碼從源的任一時間點開始。 '''建議:'''預設值 ===frames=== '''預設值:無''' 指定要編碼的最大幀數,允許編碼在源的任一時間點結束。 '''建議:'''預設值 ===level=== '''預設值:自動''' 在輸出的位元資料流裡設定level旗標(如H.264標準的[http://en.wikipedia.org/wiki/H.264/MPEG-4_AVC#Levels Annex A]所定義)。可允許的level為:<code>1 1b 1.1 1.2 1.3 2 2.1 2.2 3 3.1 3.2 4 4.1 4.2 5 5.1 5.2</code>。 如果在命令列中沒有指定<code>--level</code>,則x264會嘗試自動偵測level。此偵測並不完美,而且如果沒有使用VBV則可能會低估level。x264也會自動限制DPB大小來保持與所選level的相容性(除非也手動指定{{x|ref}})。注意:指定level並不會自動設定{{x|vbv-maxrate}}或{{x|vbv-bufsize}},不過如果超過level特定的屬性則x264會發出警告。 '''我該挑選什麼Level?''' Level 4.1通常被認為是桌上型消費性硬體可以支援的最高level。藍光只支援level 4.1,而且許多非行動裝置像Xbox 360指定level 4.1為官方支援的最高level。行動裝置像iPhone/Android則完全是另一回事。 '''建議:'''預設值,除非針對特定裝置 ===bluray-compat=== '''預設值:無''' 啟用藍光支援的相容性處理。 ===verbose=== '''預設值:無''' 顯示每個已編碼幀的統計資料。 '''建議:'''預設值 ===no-progress=== '''預設值:無''' 停用編碼時的進度指示器。 '''建議:'''預設值 ===quiet=== '''預設值:無''' 啟用安靜模式。 '''建議:'''預設值 ===log-level=== '''預設值:info''' 指定記錄的最高等級。 可用的值:<code>none, error, warning, info, debug</code> '''建議:'''預設值 ===psnr=== '''預設值:無''' 啟用[http://en.wikipedia.org/wiki/Peak_signal-to-noise_ratio PSNR]計算,在編碼完成時報告。此計算會降低一些速度。 '''建議:'''預設值 ===ssim=== '''預設值:無''' 啟用[http://en.wikipedia.org/wiki/Structural_similarity SSIM]計算,在編碼完成時報告。此計算會降低一些速度。 '''建議:'''預設值
该页面使用的模板:
Template:TOCright
(
查看源代码
)
Template:X
(
查看源代码
)
返回至“
X264設定
”。
导航菜单
个人工具
登录
名字空间
页面
讨论
不转换
不转换
简体
繁體
大陆简体
香港繁體
澳門繁體
大马简体
新加坡简体
台灣正體
视图
阅读
查看源代码
查看历史
更多
搜索
导航
首页
社区门户
新闻动态
最近更改
随机页面
帮助
工具
链入页面
相关更改
特殊页面
页面信息
其他资源
AviSynthWiki(英语)
avisynth.info(日语)
NMM论坛(讨论区)