給新人主播一些OBS設(shè)置建議,讓你的直播間畫質(zhì)提升個數(shù)量級。
最后一次修改了,更新于2022.08.06,
此次修改的包括:
1.顏色色彩方面,
2.分辨率與碼率的平衡分配問題(在下面關(guān)于“比特率”的講解那里),
3.如果你是N卡用戶,建議先參考NV官方文章https://www.nvidia.cn/geforce/guides/broadcasting-guide
4.顯卡編碼預(yù)設(shè)推薦從“無腦最高質(zhì)量”改為“最高質(zhì)量或質(zhì)量”,如果最高質(zhì)量游戲不鎖幀的情況下出現(xiàn)明顯丟幀,還請先降為質(zhì)量檔試試,如果還是丟幀再考慮鎖游戲的幀率上限。
5.最后添加關(guān)于開啟或關(guān)閉OBS窗口實時預(yù)覽導(dǎo)致的異常丟幀和游戲卡頓情況。
色彩方面,OBS在這期間更新了一個版本,色彩設(shè)置方面有點不一樣了。偷懶一下直接上評論截圖了。


錯誤1:
任務(wù)管理器里關(guān)于顯卡窗口理解的錯誤,把“GPU加速引擎”錯誤理解成單獨處理不同圖形、視頻的“”。


OBS Studio全稱Open Broadcaster Software Studio是一個免費的開源的視頻錄制和視頻實時流軟件。其有多種功能并廣泛使用在視頻采集,直播等領(lǐng)域。(參考:百度百科)現(xiàn)最新版本已更新到25.0.8,本文使用的也是這個版本。最新版:26.0.2
直奔主題,打開設(shè)置你會看到通用、推流、輸出、音頻、視頻、熱鍵和高級等不同的細分設(shè)置選項。通用設(shè)置保持默認即可。既然說到提升畫質(zhì),我這里著重說明一下輸出和視頻設(shè)置選項,其他重要選項也會說明。

打開輸出設(shè)置第一步,更改輸出模式為高級。

我目前設(shè)置,編碼器為N卡(RTX 2060)的H.264?new、VBR?基礎(chǔ)碼率10000Kbps?峰值碼率15000Kbps、編碼預(yù)設(shè):質(zhì)量檔、其他全默認、2K 60幀。(下文演示可能參數(shù)不一樣,還請不要在意)
編碼器:x264(CPU軟件編碼)、NV?H.264(英偉達GTX10系及以前的顯卡硬件編碼)、NV H.264 (new)(英偉達GTX16系和RTX 20 30系顯卡可選),此外還有A卡硬件編碼和CPU核顯編碼可以選擇,因為我沒用過所以本文不再說明。

首先說對性能消耗最小且畫質(zhì)不錯的NV?H.264 (new)編碼器設(shè)置吧。
編碼器選擇NV H.264 (new),強制執(zhí)行流媒體服務(wù)編碼器設(shè)置和重新縮放輸出不勾選,請以“視頻”選項里的輸出分辨率為準(zhǔn)。

速率控制有四個可選(CPU編碼也是一樣)CBR、CQR、VBR和無損。
常用的有CBR(固定碼率):不管畫面簡單或復(fù)雜都是以這個碼率編碼推流,因此只有一個比特率選項。Pr等視頻剪輯軟件里的優(yōu)點好像是對編碼器壓力較小,合成時間快,缺點是直播較多的靜態(tài)畫面時浪費流量。

VBR(可變碼率):可以根據(jù)畫面的變化大小自動分配碼率,例如你游戲暫停了或者畫面變化不大時碼率也會降低至一個很小的水平同時也能保證畫面清晰度。使用VBR編碼時,系統(tǒng)將自動為內(nèi)容的簡單部分分配較少的比特,從而留出足量的比特用于生成高質(zhì)量的復(fù)雜部分。(摘自百度百科)最大比特率最好比基礎(chǔ)比特率大0.5X。如果直播畫面變化較大的游戲,碼率幾乎全程在最大比特率上,畫面變化少時又會明顯低于基礎(chǔ)比特率。

比特率:關(guān)系你畫面清晰度的重要因素之一,大小主要取決于你的上傳帶寬(直播的話)。不想直播因為網(wǎng)速丟幀請參考1024Kbps=1Mbps=1024/8KBps=128KB/s=0.125MB/s。6000Kbps碼率如果穩(wěn)定推流大概需要6Mbps(5.859375Mbps=732.421875KB/s=0.7152557373046MB/s)。
碼率這塊當(dāng)然是越大越好,不過也要考慮自己的上傳帶寬和觀眾的網(wǎng)速,1080P 60FPS碼率給到6000左右就可以了,前提是你的編碼器預(yù)設(shè)要高。
因網(wǎng)絡(luò)問題不能推流高碼率的情況下請參考NV官方文章中的不同分辨率下建議給多少碼率的圖表。

?編碼器預(yù)設(shè):也是關(guān)系你畫面清晰度的重要因素之一,如下圖分別為顯卡和CPU編碼時的預(yù)設(shè)。


使用顯卡編碼(NV H.264(new))時推薦選擇最高質(zhì)量檔或質(zhì)量檔就行。
游戲未鎖幀情況下如果最高質(zhì)量檔編碼時出現(xiàn)因編碼器過載導(dǎo)致丟幀,可以換成質(zhì)量檔試試,如果還是不行,那就再換成最高質(zhì)量檔同時對游戲進行鎖幀以降低游戲?qū)︼@卡的總占用,騰出部分資源給編碼器用。(只有極少數(shù)游戲開啟質(zhì)量檔也會出現(xiàn)超過1%的總丟幀,輕微丟幀及其正常,以30分鐘為例,丟幀率不超過1%還請不要過分擔(dān)心)
使用CPU編碼(x264)時根據(jù)你CPU的性能選擇,越往下同等碼率時畫面越清晰,但需要的CPU性能(占用)越高。通常選擇faster和fast預(yù)設(shè),同等碼率下faster預(yù)設(shè)和NV H.264(new)編碼器最高質(zhì)量預(yù)設(shè)不相上下。x264其他選項保持默認即可。
CPU編碼大多數(shù)情況下我只推薦雙機直播的時候用,或者直播一些除OBS外不需要大量CPU占用的場景(在低碼率下必須要較好的畫質(zhì),同時也其他應(yīng)用不太占用CPU的情況)。CPU編碼能做到極致的壓縮碼率,而顯卡編碼這邊恰恰相反,相同編碼畫質(zhì)下往往需要更多的碼率來填充。CPU上限高,下限低;顯卡是上限低,下限高。原因是CPU編碼有更高的檔位選擇,更高的檔位得到相同畫質(zhì)的情況下碼率可以有所縮減,但同時也需要更多的CPU算力;顯卡編碼最高質(zhì)量檔位也就勉強能在相同的碼率下達到CPU Fast檔位的效果(肉眼比較,沒有采用專業(yè)的測試,原因太麻煩了我不會),所以可以說顯卡畫質(zhì)上限在相同碼率下有時候是不如CPU編碼的,但如果沒有碼率限制前提下,顯卡編碼將絕殺,預(yù)設(shè)不夠碼率來湊,但碼率高了對網(wǎng)絡(luò)帶寬要求就也高了,主播的上行帶寬,用戶的下載帶寬,以及服務(wù)器最高上行帶寬限制,而且如果觀眾的觀看設(shè)備的編解碼器性能不足也會在這些觀眾面前出現(xiàn)卡頓發(fā)熱的情況。
?回到NV H.264(new)編碼器選項。

前向考慮默認是不勾選,可按自己需求選擇勾選與否。

心理視覺調(diào)整默認是勾選的,也可按自己需求選擇勾選與否。

GPU選項保持默認即可,最大B幀在開啟前向考慮時不啟用,不開前向考慮設(shè)置2~4即可。
輸出設(shè)置完成以后來到視頻設(shè)置選項。

首先看到的基礎(chǔ)(畫布)分辨率,最大可選你顯示器當(dāng)前分辨率,也就是主頁面收錄的分辨率。


輸出(縮放)分辨率決定了你最終的直播畫面分辨率。

如果顯示器是2K分辨率想推流1080P的畫面,建議基礎(chǔ)(畫布)分辨率也設(shè)置成2560x1440然后輸出設(shè)置成1920x1080,這樣會觸發(fā)超采,會比基礎(chǔ)輸出1080P清晰一些。記得在取景框適當(dāng)調(diào)下大小,比如采集2K的桌面或游戲取景框(畫布)因為是1080P的可能會只顯示一部分。圖層鎖解開點擊圖層出現(xiàn)紅框即可放大縮小。

縮小方法:沒有觸發(fā)超采(高基礎(chǔ)分辨率低輸出分辨率)的情況下默認即可,觸發(fā)超采推薦起步16,盡可能36。
FPS值(幀率)你打開會發(fā)現(xiàn)三個選項,常用、整數(shù)和分數(shù)。

常用FPS值(幀率)模式下最高選擇60FPS(60幀)。

整數(shù)FPS值(幀率)模式下手動可以設(shè)置最高120FPS(120幀)。

分數(shù)FPS值(幀率)分數(shù)FPS值(幀率) 幀數(shù)/時間 ? ? 比如 10 / 3 ?就是三秒十幀

一般直播的話60幀就夠了,120幀現(xiàn)在沒太必要,因為觀眾要享受不同于60幀的畫面最起碼也得要個90hz的屏幕吧。
然后跳到高級選項卡,有一項關(guān)于顏色的設(shè)置還挺重要的。為什么在同一顯示器上看自己直播畫面顏色有點偏離呢?顏色不夠豐富?
高級選項卡里的視頻,渲染器默認,顏色格式默認,色彩空間默認是601?動態(tài)范圍局部,你可以改成色彩空間601?動態(tài)范圍全部,也可以一步到位,709?全部動態(tài)范圍。


最新版添加了一個sRGB色彩空間,經(jīng)評論提醒在B站直播時如圖設(shè)置偏色最少。

設(shè)置完應(yīng)用確定即可。恭喜你升級了你直播間的畫質(zhì)清晰度!
PS:最后注意。
CPU編碼要達到比較好的畫質(zhì)也要faster預(yù)設(shè)(1080P碼率最好不低于6000),但是這個預(yù)設(shè)對CPU的占用不低,特別是畫面變化比較大、粒子效果、光污染嚴重時,會造成CPU瞬間占滿,導(dǎo)致卡頓。顯卡編碼時碼率多少的確對性能沒多大影響,但CPU編碼時預(yù)設(shè)和碼率對性能(占用)的影響都很大。高預(yù)設(shè)低碼率通常是兩臺主機時才考慮,上面有提到。不信的話選個slow預(yù)設(shè)玩游戲試試。(不是太恰當(dāng),先劃了)
顯卡編碼時最好鎖幀,雖然游戲(3D)和視頻編碼(VE)是用的不同加速引擎,但處理視頻編碼的引擎(VE)也會或多或少占用一部分游戲主要依靠的3D引擎,我已經(jīng)在好幾款游戲中發(fā)現(xiàn)了這個問題。解決方法:始終讓3D引擎占用不超過80%~90%即可,所以大型游戲要鎖幀,不然即使你這邊100多幀,觀眾那邊也可能因為編碼器過載而卡成PPT。

推薦是不開錄制或者直播時,游戲在一定幀率情況下,3D引擎核心占用不要超過80%(其實不超90%就行了)。因為編碼雖然主要占用的是視頻編碼(VE)這部分的引擎,但根據(jù)編碼的壓力也會或多或少占用一部分游戲主要占用的3D引擎。
一般游戲如果不想鎖幀可以把最高質(zhì)量檔位下調(diào)至質(zhì)量檔位,如果還是有編碼器過載導(dǎo)致的丟幀情況出現(xiàn),還是只能限制游戲的幀率上限來解決。少數(shù)游戲最高質(zhì)量檔位沒有問題,絕大部分游戲用質(zhì)量檔位是完全沒有問題的,極少數(shù)游戲就算是質(zhì)量檔位還是會有丟幀,這個要自己測試。
OBS的實時預(yù)覽功能沒有必要的時候我建議關(guān)閉,因為我在不止一款游戲里發(fā)現(xiàn)開啟預(yù)覽與關(guān)閉預(yù)覽,游戲幀數(shù)最高能差30%,而且?guī)蓵r間如果開啟也會大幅度波動,導(dǎo)致明明游戲幀數(shù)很高但就是覺得很卡。
OBS用游戲捕獲捕捉不到游戲畫面?用管理員身份運行OBS試試,如果還是不行可能就是游戲本身的加密技術(shù)問題。
有什么問題可以發(fā)下面評論區(qū),也可以私信我。文章可能有些地方有誤或者舉例不恰當(dāng),還請指出。