OBS 高CPU佔用率/畫面卡頓/編碼慢解決方案大全

原作者:dodgepong

視頻編碼是非常耗費CPU的操作,OBS也不例外。OBS使用了開源的最好的編碼庫,x264來做視頻編碼。然而,有些人可能會遇到高CPU佔用率,有些人可能因為設置不對造成其他程序的卡頓。有時候,OBS會在狀態欄提示「High CPU usage」(高CPU佔用率),表示你的電腦不能及時的完成視頻的編碼工作,這導致了視頻會卡。

這裡整理了一些技巧,幫助你避免卡頓。

調低你的輸出解析度

對CPU佔用率影響最大的是解析度。比如1080p比720p每幀多出一倍的像素,CPU的工作量也大一倍。最常用的降低CPU佔用率的方法就是調低解析度。OBS會根據解析度縮小視頻然後再給編碼器。可能你因為屏幕是1080p就把輸出的解析度也調成一樣,但你的CPU可能沒有這麼強的編碼能力。你可以把輸出改成720p(或者更低)來減輕CPU的負擔。

在「設置」,「視頻」,「輸出(縮放)解析度」中修改解析度。你可以保持基礎解析度不變,修改輸出解析度來獲得好的性能。

縮放過濾器(二次平方,雙直線,Lanczos)的區別是縮小的視頻的演算法不同。二次平方最快佔用資源最少,但看起來不怎麼樣。Lanczos需要更多資源但是看起來更好。這看你自己需要去嘗試。

降低你的FPS

如果你的碼率比30高,另一個選擇是降低FPS到30。這回降低每秒鐘CPU需要處理的幀數。如果你的CPU能力非常弱的話,當然可以降的比30更低。

修改x264 CPU使用預設(preset)

x264的一些設置也會影響視頻質量和CPU的使用率。OBS的默認設置是最快的,通常也平衡了CPU和圖像質量。可以在「設置」,「輸出模式(高級)」,「流」選項卡中的「CPU使用預設「」中調節。

使用預設中的速度用來設置編碼器運行的多「快」。更快的速度會在計算質量時使用更低的CPU。慢的速度使用更多的CPU資源,畫質更好。

比如,你不準備修改解析度和FPS,而僅僅把CPU使用率從veryfast調掉ultrafast,x264會用更短的時間編碼,但圖像可能會出現大的色塊和像素快。

在設置時小心,因為降低一級就會對CPU使用率有很大的影響。比如,faster比veryfast用兩倍的CPU。如果你不確定選哪個,那麼就選veryfast。

試試Quicksync,AMF或者NVENC

Quicksync,AMF和NVENC是最近Intel集成GPU,AMD GPU或者nVidia GPU帶的硬體編碼器。在同樣的碼率下,硬體編碼的結果要差一點,但CPU佔用率低。注意QSV NVENC在低碼率下效果很差所以不推薦。

如果你有相關的硬體編碼器,你可以看到這個選項。

Quicksync設置起來有點小技巧,參考這個網址:How to use Quicksync?

同樣,AMF如果有問題,參考這個網址:Troubleshooting Guide

檢查你的視頻源

攝像頭或者採集卡可能會用佔用很多的CPU。如果你有攝像頭,確保攝像頭的解析度不會過高了。瀏覽器視頻源在複雜動畫和腳本運行的情況下也會造成CPU佔用高。

升級硬體

一些機器基本設置什麼都救不了,像雙核的CPU和AMD APU。可能這還能推送一個360p的25FPS的流在ultrafast的預設下,但效果肯定不好。如果你有Sandy Bridge架構的i5或者i7,AMD的6-8核,那麼你應該推流效果不會差。

OBS和其他推流軟體的很大不同是它會用GPU來增強性能,然而一些過於老的GPU會影響性能,通常因為內存通道太低或者處理器核心太少。nVidia GTX200系列和9800GT或者更早的顯卡雖然幾年前很牛,但現在這些很老的卡會很大影響OBS的效果。

其它程序和遊戲也會佔用CPU

其它程序(尤其是遊戲)會佔用很多CPU,比如戰地4,或者模擬器遊戲。這些程序會和OBS爭搶CPU資源,所以你也應該考慮調低遊戲的視頻設置。你也可以在「設置」,「高級」中降低處理器優先順序。一般我們需要給OBS高於普通的優先順序。當然,謹慎的修改這個選項。

更多建議,請運行日誌分析器

如果還有其他可能導致OBS卡的原因,你通常可以用R1CH的日誌分析器在OBS的日誌里找到。你可以找到性能原因或者其他可能原因。你可以在OBS 幫助,日誌文件選項中看到。

原文地址:Question / Help - High CPU Usage/High Encoding/Taking too long to encode? Read this first!

在看直播(專註直播數據和相關技術服務): 在看直播排行榜 - 實時鬥魚直播間排行

更多OBS技術貼:

OBS基本設置

【譯】OBS Studio (工作室版)和Classic(經典版)的區別


推薦閱讀:

TAG:OpenBroadcasterSoftwareOBS |