本經驗有嚴重錯誤,請務必刪除!
preset, 譯為預設, 預設值.
在x264中, preset 掌管著大部分的壓縮用參數, 很大程度上關系著最終視頻的質量. 順便, 在很多別家的編碼器中也一般會有preset參數哦.
講 preset 需要從它掌管的參數開始! 這次一共有11個!
--bframes --b-adapt --direct --firstpass(沒用的) --no-fast-pskip --me --merange --partitions --rc-lookahead --ref --subme
在不同的 --preset 下, 以上的參數的值也會改變, 現在無需將它們復制到你的文檔中~
當然, 雖然已經定下了這些預設(見第一張圖), 但大多數都已經不屬于這個時代了. 不過好在x264的開發者們還留了一手, 就是每個預設參數都可以被用戶自定義的參數覆蓋.
在寫草稿時的原計劃先要拿大部分內容來講解這些參數. 但我發現了更有效率的方法, 所以接下來只需按照下面幾個圖片上來做即可...
第一步, 將下面的預設參數以及在這個預設下所有被調整的參數復制到新建的文本文檔中.
第二步, 根據本經驗所給的不同推薦值, 選出適合你的加在preset的后面
第三步A, 當參數全部完成配置后只保留第一行刪掉多余的, 完成!
第三步B, 干脆不寫preset, 直接把這11個參數寫出來. 但很多壓制軟件因為看不到preset寫在參數欄中導致壓制軟件又加了上去. 這個要根據后期的教程對軟件做一些調整~
--preset placebo 參數下:
--bframes 16
--b-adapt 2
--direct auto
--slow-firstpass
--no-fast-pskip
--me tesa
--merange 24
--partitions all
--rc-lookahead 60
--ref 16
--subme 11
--trellis 2
--preset veryslow 參數下(建議復制這個):
--bframes 8
--b-adapt 2
--direct auto
--me umh
--merange 24
--partitions all
--ref 16
--subme 10
--trellis 2
--rc-lookahead 60
--preset slower 參數下:
--b-adapt 2
--direct auto
--me umh
--partitions all
--rc-lookahead 60
--ref 8
--subme 9
--trellis 2
下面就開始講各個參數~
--bframes <最多連續放多少B幀>
B幀是壓縮程度最高的幀, 放的越多愈能降低碼率!
比如設置--bframes 16 (最大值16)就等于一組最多可以連續放入16個.
*注意: 此參數在不同用途的視頻的分歧很大.
**注意: 此參數會嚴重影響網絡視頻的觀看效果.
B幀本身需要讀取參考前面的幀的信息, 調的越高, 一個GOP中就有更大可能被放入更多B幀從而達到壓縮效果.
大量B幀能達到壓縮效果, 加快網絡緩沖, 但上傳用視頻占用太多CPU會導致網絡播放器從輕微到嚴重的磕磕絆絆斷斷續續的播放狀態, 這種情況不要設高!
--b-adapt <應該放B幀還是P幀>
x264用來決定放P幀還是B幀更好, 一共3個選項:
0 全部設B幀 (可能會造成播放器解碼困難, 不推薦)
1 加速算法 (bframes開的越大, 速度愈快, 但效果不如2)
2 完整算法 (bframes開的越大, 速度愈慢, 但壓縮率更好)
推薦2, 但碼率允許的情況下也推薦1
--direct <根據空間還是時間來判斷物件移動>
直接 --direct auto 自動判斷 (有的參數確實沒啥好說的)
--me <位移預測方式>
速度從低到高有:
dia菱形(快, 效果差),
hex六邊形(快, 效果一般, 純單向移動推薦),
umh可變六邊形(適中, 效果好, 推薦),
esa全向(慢, 效果好點兒)
tesa超全向(比上一個慢點兒, 效果好一丟丟).
大多情況推薦 --me umh
模擬鋼琴, midi軌道演示類的視頻大多都是單向移動, 所以可以選 --me hex, 但文件碼率會增大一點(1080p, 60幀下約100kbps).
tesa只比esa慢一小點. 除非碼率只差一點(10kbps)就合格了再使用, 當然更簡單粗暴不拖時間的方式還是調 --vf resize 里的 sar~
--merange <位移預測范圍大小>
多大都可以. 在最極端的 --preset placebo 參數中這個值也只是24.
普通情況就設24即可, 畢竟現在電腦的配置不是幾年前了.
模擬鋼琴類的視頻由于幾乎所有的物件都往一個方向移動, 不會很大的拖慢判斷, 所以推薦32.
--partitions <宏塊能分成多少份>
用來精確的還原線條. --preset placebo下的是 --partitions all 所以視頻的寬度和高度都會被分成16塊, 見圖(數一下圖中橫向和縱向的塊的數量就明白了)
推薦:
高清片源+等于/高于1280*720: --partitions all
低清片源/低于1280*720情況下: --partitions b8x8,p8x8,i8x8,i4x4 (IPB幀被分成8x8的小塊, I幀還可以被分成4x4的小塊.)
當片源非常不清晰時: --partitions b4x4,p4x4,i4x4.
--ref <能參考多少幀> 最大值16
這個參數最終會以命令的形式告訴播放器每一個B幀和P幀能用多少個前面的幀來獲取參考信息. 能參考更多幀, 標志著自身可以儲存更少信息, 增強壓縮效果.
*注意: 此參數會嚴重影響網絡視頻的觀看效果.
**注意: 此參數在不同用途的視頻的分歧很大.
網盤黨/rip黨: --ref 13或以上.
上傳用: 見圖2
上傳用, 60幀(但很多網站不支持60幀!): 將圖中所有結果減1
在特別靜態, 或者特別動態的場景(比如噪點多的錄像)開高的意義不大. 反而是動態程度一般的, 開高 ref 效果比較好(見圖).
但上傳用視頻占用太多CPU會導致網絡播放器從輕微到嚴重的磕磕絆絆斷斷續續的播放狀態, 這種情況不要設高!
--trellis <要幫忙嗎>
基于拉普拉斯算子(什么鬼)通過分格量化將編碼數據微調的參數. 好吧, 拉普拉斯算子的優點是能發現并增強微小的細節, 我就知道這么多~
設定的值會影響trellis在計算部分的參與程度. 一般是越多越好.
0: 關閉.
1: 僅編碼后期量化計算.
2: 編碼后期量化, 運動精度, 分割宏塊等計算.
所有情況推薦 --trellis 2
--rc-lookahead <掃描多少幀>
掃描往后的幀并把變化數據交給量化工具.
建議設置為視頻原幀數的三倍, 個位數除以2, 小數去尾.
*對于分辨率很低(240p, 360p, 480p等)可以考慮設為視頻源幀數的5倍
(極限值為 250)
并降低qcomp來保證最大的掃描距離和量化壓縮強度哦(qcomp后面會講到, 現在可以無視)
--no-fastpskip <認真壓縮每一個p幀>
不會很大的拖慢壓制速度, 建議在沒有包含此項的preset中加上.
--subme <像素估算復雜度/運動檢測輔助(見圖)>
值設在0-11之間, 設的越大提升越強.
推薦最高的值: 11 (有的x264版本不支持, 這種情況下用10)
*注意單獨使用這個值要保證 trellis=2 以及 aq mode>0
以上,
所有參數配置完成, 到此 preset 參數就設置好啦~
1.
調用原參數: --preset placebo
2.
在基礎上更改: --preset placebo --me umh --ref 9 --partitions b8x8,p8x8,i8x8,i4x4
(--me 會被改成umh, --ref 會被改成9, --partitions 會被改成b8x8,p8x8,i8x8,i4x4)
到此, --preset 參數, x264參數的第三部分就設置好啦~
片源:
幻想萬華鏡 [VCB-S]~The Memories Of Phantasm~[01][Hi10p_1080p][BDRip][x264_2flac].mkv
重要信息:
幀率 23.98, 片源質量高, 音軌為flac無損編碼.
參數決定!
--preset veryslow --bframes 14 --me umh --merange 32 --ref 13 --subme 11 --rc-lookahead 72 --no-fast-pskip
片源:
XXX曲子的synthesia鋼琴演示.mp4
重要信息:
片源類型: 模擬鋼琴. 片源質量: 高. 物體移動方向: 單向
參數決定!
--preset veryslow --bframes 14 --me umh --merange 32 --ref 2 --subme 11 --rc-lookahead 180 --no-fast-pskip
0 篇文章
如果覺得我的文章對您有用,請隨意打賞。你的支持將鼓勵我繼續創作!