前往
大廳
主題

[教學]OBS-Studio的NVENC H.264(new)直播設定方法

耐特 | 2023-04-12 00:34:05 | 巴幣 104 | 人氣 3258

前言
OBS-Studio從23.0.1版起新增了"NVENC H.264(new)"的設定項目,這個新功能可以讓上傳"位元率"更加穩定及提高畫質,所以繼"OBS-Studio的x264直播設定方法"之後又再來寫這一篇延伸教學,若有興趣的人請繼續看下去吧!

若想使用Donate(贊助捐款)、追蹤者(追隨)、訂閱、小奇點、聊天室的通知即時視窗及MOD機器人,這就必須要借助Streamlabs的附加功能來達到目的,請參考這篇"[教學]OBS附掛Streamlabs的設定方法(含通知、贊助視窗及跑馬燈文字)"文章。
本站的雙螢幕直播平台介面:


本站的OBS-Studio設定參數:

使用"光世代35M/6M"在speedtest.net中測出來的網速如下:


附註:
以下教學是採用Twicth及NVIDIA官方所推薦的720p-60fps(或1080p-30fps)最佳設定,以及"光世代35M/6M"測試出來的極限設定,若您擁有更高的網路頻寬,請自行調高在本文中所建議的各項設定及做最終測試;因為某些設定在之前就有寫過詳細的教學,所以請直接參考"OBS-Studio的x264直播設定方法"一文,這邊就不重複介紹了。
開啟OBS直播時的系統使用率%數:


本站的720p-60fps設定參數 (綜合各家的官方設定值做為基準,請參考下方附圖)
編碼器:NVIDIA NVENC H.264 (new)
強制使用串流伺服器編碼設定:不勾
位元率控制:CBR (或VBR)
位元率:4500 kbps
最大位元率:4500 kbps (僅VBR有此設定)
關鍵視訊框間隔:2
預置:品質最高
Profile(配置):main
編碼緩衝預測:不勾
心理視覺調整:打勾
最大B格畫數:2
輸出解析度:1280x720
壓縮方式:Bicubic(取16個樣本數)
常用FPS:60
音效位元率:192 kbit/s
音效取樣頻率:48 kHz
擷取視窗的"縮放濾鏡":停用
擷取視窗的"銳化"濾鏡:0.12

720p-60fps的設定對照圖:


擷取視窗的"縮放濾鏡":停用

擷取視窗的"銳化"濾鏡:0.15


本站的1080p-30fps設定參數 (基本上與720P的設定相同)
編碼器:NVIDIA NVENC H.264 (new)
強制使用串流伺服器編碼設定:不勾
位元率控制:CBR (或VBR)
位元率:4500 kbps
最大位元率:4500 kbps (僅VBR有此設定)
關鍵視訊框間隔:2
預置:品質最高
Profile(配置):main
編碼緩衝預測:不勾
心理視覺調整:打勾
最大B格畫數:2
輸出解析度:1920x1080
壓縮方式:Bicubic(取16個樣本數)
常用FPS:30
音效位元率:192 kbit/s
音效取樣頻率:48 kHz
擷取視窗的"縮放濾鏡":停用
擷取視窗的"銳化"濾鏡:0.12

1080p-30fps的設定對照圖:


擷取視窗的"縮放濾鏡":停用

擷取視窗的"銳化"濾鏡:0.15


音效"濾鏡"設定
輸出音效"濾鏡"設定:
限制器: 臨界值-6dB,釋放時間10ms。

輸入音效"濾鏡"設定:
雜訊抑制: RNNoise (品質佳,CPU用量高)
噪音閥: 關閉閥值-37dB,開啟閥值-32dB,起音時間25ms,持續時間250ms,釋音時間150ms。
動態壓縮處理器: 比率6.00:1,閥值-23dB,起始時間3ms,釋放時間100ms,輸出增益+11dB。
限制器: 臨界值-3dB,釋放時間10ms。

使用上述音效"濾鏡"設定的影片範例:


音效"濾鏡"的設定參考圖:




OBS-Studio的直播設定教學:(以上述的參數為範例)
1.按"設定"。

2."輸出模式"選擇"進階"。

3."編碼器"選擇"NVENC H.264(new)"。

附註:
關於"NVENC H.264(new)"格式,以720p-30fps為例,除非您的網路上傳頻寬夠大,並能將上述"位元控制率"調高至3500(或以上),不然畫面就會動態模糊(或影格遺失);經過實測,"位元控制率"若設定為4000,那"CBR"模式大約是3600~4900之間浮動,而"VBR"模式則是1100~5500之間浮動,這二種設定在高峰值時都有可能會跑到Twicth限制的6000附近,所以若上傳頻寬不太夠用(小於6M),那就建議使用傳統的"x264"模式即可。

x264的設定方法,請直接參考此篇文章:
[教學]OBS-Studio的直播設定方法

4."強制使用串流伺服器編碼設定"會限制"位元率"的浮動範圍,功能就同等於舊版OBS的"固定位元速率"選項。(請看附註)

附註:
"位元率"會被限制在您自訂數值的範圍內浮動,若位元率經常會爆衝至紅燈的話,建議打勾;但缺點是VBR模式將不會自動降低到1000以下以節省頻寬。

5."位元率控制"用"VBR"或"CBR"編碼皆可,但畫質好壞及差異請自行測試。(請看附註)

附註:
a.VBR是參照"位元率"設定值並依狀況浮動的輸出(以品質為優先),而音效(音質)則是恆定輸出,自動依循上傳資料的流量大小而自動控制"位元率"高低,這樣可以減低上傳頻寬及電腦的負載,但偶爾會出現畫面糊掉的問題。
b.CBR是參照"位元率"設定值並接近恆定的輸出(以位元率為優先),而音效(音質)則是浮動輸出,雖然上傳位元率會比較穩定,但電腦會持續處於高負載狀態,並偶爾會出現"馬賽克"格子。

6."位元率"的設定標準可參考下方的"附圖",但也可以設定為您網路上傳總頻寬的70%~80%即可。(請看附註)

附註:
a.一般的位元率建議大約在2500~6000之間做微調,請自行測試及斟酌慎用。
b."位元率"及"最大位元率"是畫質穩定的關鍵之一,個人推薦是2500~4500即可(上傳若夠大,可再往上微調)。
c.Twitch非"合作夥伴"的上限允許值為6000,而4500為Twicth官方的720p-60fps推薦值(請參照下方的官方設定值附表)。
d.Mixer的上限允許值為10000,而官方建議值是2000~7000,720p的建議值則是3500。
e.若"位元率"經常會暴衝至紅燈(或影格遺失)的話,建議將"位元率"以200~300做上下微調,測試直到穩定為止。

科普:
位元率是指影片檔案在時間單位內使用的資料流量,同樣解析度下,影片檔案的位元率越大,那壓縮比就越小,處理出來的畫質及清晰度就會越好,但播放裝置的解碼能力要求也更高。

OBS的"位元率"設定範例:


Twitch官方推薦的NVENC設定:

7."最大位元率"設定與"位元率"相同即可。(僅VBR有此項目,請自行斟酌及微調)

8."關鍵訊框間隔"的預設值是:0(自動),但在各大直播平台的官方建議值通常都是2。(請看附註)

附註:
a.預設值0(自動)會依"位元率"的浮動狀況並自動更新畫面,若經常遇到"影格遺失"或上傳"位元率"一直閃紅(橘)燈的話,建議使用此預設值即可。
b.設定的數字越大,畫質就越佳,但上傳"位元率"若跟不上執行速度的話,畫面也許會出現突然變糊,或導致影格遺失的問題。
c.各大直播平台的官方建議值通常是2,因為每逢2秒(60幀)時就會更新畫面一次,而0(自動)則是每5秒(250幀)才更新畫面一次。
d.Twicth的官方建議值是2。
e.YouTube的官方建議值也是2,但設定的允許值是2~4。

9.自訂"預置"設定,此處選擇"畫質"或"品質最高"即可。(請看附註)

附註:
關於"畫質"(品質)及"品質最高"的差別,因為"品質最高"是採用2-PASS的畫質處理,若GPU負荷不大的話,建議可以將設定改為"品質最高"以提高畫質;另外,雖然"低延遲品質"並不是官方所建議的標準設定,但本站實測的感覺還不錯,這個設定也建議試試。
注意: NVIDIA官方建議,我們已發現"品質最高"設定對於某些GPU會導致影格遺失的問題,若遇到此問題請改回"畫質"設定即可。

10.自訂"Profile"(配置)設定,這也是會影響到畫質清晰度的關鍵,請自行斟酌及測試。(請看附註)

附註:
baseline=適用於某些視訊會議和低階移動裝置,或用於需要低延遲的多點視訊廣播。
main=適用於使用DVB標準定義的MPEG-4格式數位廣播。
high=適用於藍光媒體和DVB HDTV的廣播服務。
若畫面不會很卡的話,建議將設定改為"high"以提高畫質。
反之,若設定為"main",但畫面還是會卡的話,可以改用"baseline"試試,但畫質可能會稍微降低。

11.自訂"編碼緩衝預測"設定,請自行斟酌及測試。(請看附註)

附註:
打勾會使用GPU的"CUDA"運算功能,並以"最大B畫格數"的設定準則來達到"B畫格"(B幀)最佳化,但這個設定會提高GPU的負載,請自行斟酌及測試。

12.自訂"心理視覺調整"設定,請自行斟酌及測試。(請看附註)

附註:
打勾會使用"GUDA"的運算功能,並自動將上傳"位元率"最佳化,以提升畫面快速移動時的畫質,但這個設定會提高GPU的負載,請自行斟酌及測試。

13.設定"GPU"編號。(此處是指定執行OBS轉碼工作的顯示卡GPU編號,請看附圖)

附圖: (從系統的"工作管理員"中查看即可得知GPU編號)

14.自訂"最大B畫格數"(B幀)設定,請自行斟酌及測試。(請看附註)

附註:
1.設定的數字越大,畫質就越佳,但上傳"位元率"若跟不上執行速度的話,畫面也許會出現突然變糊,或導致影格遺失的問題。
2.NVIDIA的官方建議是2~4,例如"刺客信條"或"古墓奇兵"之類的動作冒險遊戲,建議設定為2,但對於低移動性(或靜態)的遊戲內容,則是可以設定為4。
3.Mixer官方的RTMP模式建議值是2,而FTL模式建議值則是0(關閉;x264則是可以使用"bframes=0"指令),而後者是以畫面延遲低及速度快為優先考量。

15."壓縮方式"使用"Bicubic(16個採樣)"或"Lanczos(36個採樣)"皆可,請自行斟酌及測試。(請看附註)

16.擷取視窗的"壓縮濾鏡":(請看附註)
附註:
Disable(停用)是不使用任何的"縮放濾鏡"最佳化,但實測後發現畫面可能會變卡,所以請自行斟酌使用。
Point(點)濾鏡是濃密度是取決於像素位置,但線條會發生明顯的變化,而畫質差異請看下方的解說。
Bilinear(雙線性插值)濾鏡是以快速傳輸為目的,畫質會被簡略處理,若想要降低CPU的負載,則是推薦使用此項。
Bicubic(雙三次插值)濾鏡的畫質較銳利,這是一般比較常用的推薦設定。
Lanczos濾鏡是改良過的新型設定(舊版是32個採樣,新版是36個採樣),畫質較為柔和,適合鋸齒較多的遊戲。
Area(範圍)濾鏡是OBS-24.0版新增的設定項目,採用加權總合的4/6/9個隨機自動取樣,而畫質差異請看下方的解說。

全新的濾鏡模式:Area(範圍)

關於Area濾鏡模式的處理效果,附圖中的範例是從256x240放大到1317x1080。
- Point(點)濾鏡的濃密度是取決於像素位置,但線條會發生明顯的變化。
- Bilinear(雙三次插值)濾鏡可提供一致性的濃密度,但會嚴重模糊圖像。(Bicubic和Lanczos也有這個問題)
- Area(範圍)濾鏡可提供一致性的濃密度,但完全不會汙染圖像。

畫質比較圖:

17.擷取視窗的"銳化"濾鏡: (建議設定在0.10~0.18之間,但請依個人需求微調)


開啟"銳化"濾鏡的比較圖:

18.設定"常用FPS",此範例是採用60fps。(請看附註)

附註:
a.設定60fps卻跑不順暢的話,可以改用48fps試試(OBS官方建議),若二者皆跑不動,那就只能設定為30fps,請自行斟酌及測試。
b.另有一說,因為NTSC(數位電視)的標準fps並不是整數,所以30fps應該是要設定為29.97fps,而60fps則是要設定為59.94fps才正確,這也是請自行斟酌及測試。

19.在"進階"項目中,將OBS的"程式優先順序"改成"高",以避免被系統的其他程式干擾。(這也是OBS的官方建議)

系統設定
將Windows 10的遊戲模式"關閉"。(為某些電腦有可能會導致畫面卡頓的問題)

NVIDIA顯示卡設定
(以下設定並非OBS的必要選項,詳情請自行參考N卡驅動的相關討論)
在"程式設定"中先新增OBS Studio,若"材質過濾"設定為"高畫質"的話,那就不會對OBS執行程序有過多的干涉,但若是OBS不穩定的話,則建議改用"效能"模式試試。


新版"GeForce Experience"有支援OBS Studio的自動最佳化功能,建議可以按"最佳化"試試!

參考資料:

若想參考官方所推薦的OBS直播設定,您也可參考以下這幾篇官方的說明文件:
NVIDIA NVENC OBS Guide (NVIDIA官方設定教學-英文)
NVIDIA NVENC OBS 指南 (NVIDIA官方設定教學-簡體中文)
NVIDIA Broadcast 應用程式設定指南 (NVIDIA官方設定教學-繁體中文)
Broadcasting Guidelines (Twicth官方說明文件)
直播編碼器的設定、位元率與解析度 (YouTube官方說明文件)
Facebook Gaming 創作者 (Facebook官方說明文件)

結語
若有研究的新發現,會再編輯此文章的內容,本篇教學到此結束。

創作回應

更多創作