關(guān)于個(gè)人對(duì)OBS采集卡錄制的問題總結(jié)
最終解決方案:更新OBS版本的同時(shí),更新顯卡驅(qū)動(dòng)就可以解決大部分問題(包括編碼過載)。對(duì)于老配置來說也一樣成立。
如果不想折騰顯卡驅(qū)動(dòng)再往下看,也不能保證一定能解決問題。(反正遇到問題橫豎都要折騰)
對(duì)于b站的大大們來說,我的電腦和采集卡配置應(yīng)該算是低配。所以此處算是對(duì)低配電腦OBS采集卡錄制的總結(jié)。
注:此處總結(jié)只針對(duì)錄制影像,而沒有做推流。
硬件參數(shù)參考:
*?個(gè)人電腦硬件相關(guān)配置:筆記本電腦,Intel(R) Core(TM) i7-7700HQ +NVIDIA GeForce GTX 1050(外顯就不說了,廢,錄制時(shí)沒有用到)

?下面是總結(jié):
注:只針對(duì)intel+NVIDIA的總結(jié)。
視頻采集設(shè)備設(shè)定:
(1)視頻編碼:一般情況下,預(yù)覽使用MJPEG比YUYN更加流暢,但相對(duì)地錄影清晰度會(huì)下降。如果電腦帶不動(dòng)YUYN而錄制卡頓甚至輸出端也卡頓,則只能使用MJPEG.這里更正,并不是電腦帶不動(dòng)YUYN而是傳輸效率的問題,也就是電腦的USB接口的傳輸協(xié)議是不是USB3.0以上,這點(diǎn)對(duì)YUYN輸出是否卡頓有直接關(guān)聯(lián)。
注意:如果筆記本電腦的USB接口不支持USB3.0以上(不包含USB3.0)即使配置好的電腦使用YUYN編碼不做任何處理,輸出端預(yù)覽也可能會(huì)卡頓的。在目前的實(shí)驗(yàn)測(cè)試結(jié)果來看,如果使用MJPEG編碼不卡,則說明可以靠電腦配置來補(bǔ)。把錄影的輸出保存類型設(shè)定為“自定義FFmpeg”,也就是自定義轉(zhuǎn)碼,視頻編碼器使用適配YUYN的libx264(使用CPU運(yùn)算),只要沒有編碼過載,進(jìn)行錄影時(shí)無論保存的錄影本身還是預(yù)覽都不會(huì)卡頓;但是這么做會(huì)加重CPU的負(fù)擔(dān),可能使其在90℃+的情況下持續(xù)工作(其實(shí)清灰換導(dǎo)熱功率14W+的硅脂就可以了,即使CPU全速運(yùn)轉(zhuǎn)也就75℃-80℃一般不會(huì)再高了)。具體原理個(gè)人還沒有研究透徹,猜測(cè)是傳輸緩存的某些機(jī)制影響。
另外,關(guān)于自定義FFmpeg編碼器的選擇,如果要使用外顯(例如本文是NVIDIA)編碼(nevnc),則必須保證顯卡驅(qū)動(dòng)與OBS的版本適配,例如OBS27.1.0就需要版本為512.15左右的NVIDIA顯卡驅(qū)動(dòng)才能使用nevnc系列的編碼器;而OBS23.0.0則是老的416.94左右的NVIDIA顯卡驅(qū)動(dòng)適配。
不錄制影像且追求簡(jiǎn)便的話,可以勾選“自定義音頻設(shè)備”,此時(shí)音頻輸出模式建議使用輸出桌面音頻(DirectSound)。但是這樣有很大的缺點(diǎn):
錄制影像音畫不同步不,聲音在畫面之后。
錄制影像的聲音非常大,且容易有卡塔響的噪聲。
要錄制視頻且期待錄制的是采集的原聲,則不建議使用“自定義音頻設(shè)備”:
此時(shí)建議在界面右下角的設(shè)定中禁用所有全局音頻設(shè)備,然后在電腦系統(tǒng)的聲音設(shè)定的錄制選項(xiàng)卡中,進(jìn)入采集卡對(duì)應(yīng)的麥克風(fēng)設(shè)備的屬性設(shè)定,勾選偵聽。這樣就可以錄制原聲而不會(huì)有延遲。
缺點(diǎn)是關(guān)閉OBS但沒有斷開采集卡的連接,采集中的聲音依然持續(xù)輸出,除非再次取消勾選偵聽。
對(duì)于進(jìn)行過至少一次系統(tǒng)更新的win10用戶,如果關(guān)閉計(jì)算機(jī)之后重啟,就有可能需要取消上述勾選對(duì)應(yīng)麥克風(fēng)設(shè)備后重新勾選才能正常偵聽。
視頻設(shè)定:
基礎(chǔ):設(shè)定值決定視頻流預(yù)覽窗口的大小。
輸出:與錄影的分辨率直接相關(guān),設(shè)定是多少錄影文件的分辨率就是多少。
常用FPS值:與錄影的幀率(FPS)直接相關(guān),設(shè)定是多少錄影文件的幀率就是多少。
降低輸出分辨率和FPS可以一定程度上減輕CPU負(fù)擔(dān)從而解決編碼過載問題,但是同時(shí)會(huì)降低錄影的質(zhì)量,解決編碼過載問題建議從串流的設(shè)定入手,下一節(jié)“串流設(shè)定”會(huì)具體介紹。
下圖是適于采集輸出1080p60視頻流的設(shè)定。
(2)聲音設(shè)定:

串流設(shè)定(重點(diǎn)):
編碼器:如果編碼器沒選好的話,高視頻輸出時(shí)錄影就容易出現(xiàn)“編碼過載”的問題導(dǎo)致當(dāng)前錄影幀率下降卡頓。外顯卡不行的串流編碼器只有設(shè)定為內(nèi)顯卡編碼(核心顯卡編碼)。如果使用內(nèi)顯卡編碼,如下的QuickSync H.264編碼,在視頻仍然保持1920×1080且60FPS的情況下就幾乎不會(huì)因?yàn)檫^載的問題造成錄影掉幀的問題了。←這里又研究了一下,雖然大部分時(shí)候是的確不會(huì)編碼過載,但CPU使用率過高的情況下依然會(huì)被迫編碼過載(CPU忙不過來了x)
再次測(cè)試結(jié)果表明,串流的設(shè)定其實(shí)并不影響錄影的質(zhì)量,因此如果只進(jìn)行錄影的話,完全可以把串流設(shè)定改成非常低的設(shè)定。并且,串流編碼器建議選擇硬件編碼,也就是NVIDIA NVENC或者QuickSync如下圖:

下面兩張僅供參考,如果只錄影的話不建議按下面兩張圖示的設(shè)定,而是建議按↑這張圖的設(shè)定。


錄影設(shè)定:
輸出設(shè)定:
(1)輸出模式為簡(jiǎn)單:適于不喜歡折騰的用戶。
比特率:其數(shù)值大小與錄影質(zhì)量成正比。按需調(diào)整,一般4000-6000Kbps空間足夠,清晰度可接受。追求清晰度可以調(diào)高,但錄制的錄影所占空間會(huì)增大,且會(huì)增重編碼器負(fù)擔(dān)。
編碼器:外顯不夠優(yōu)秀的用戶建議使用QSV編碼。外顯比集顯優(yōu)秀更多的用戶可以使用NVENC。不建議使用x264編碼,因?yàn)殇浿频匿浻昂芸赡軙?huì)卡幀,會(huì)極大影響錄影的觀看效果(目前沒搞清具體原因,推測(cè)是CPU負(fù)荷過重)。
勾選啟用高級(jí)編碼器預(yù)設(shè):
QSV編碼器預(yù)設(shè):quality或者balanced按需選擇。其中quality更偏重質(zhì)量,而balanced是兼顧質(zhì)量和速度,但錄制質(zhì)量沒有quality好。特別是使用MJPEG編碼的用戶,在不會(huì)卡頓的情況下,建議使用quality。
NVENC編碼器預(yù)設(shè):偏重質(zhì)量還是延遲,按需選擇。
錄影質(zhì)量:按需選擇,1080p比特率一般在4000kbps到8000kbps,電腦配置不夠的話可嘗試降低錄影比特率。
其余設(shè)定:按需選擇或更改??梢阅J(rèn)。
“類型”為“標(biāo)準(zhǔn)”的總結(jié):
編碼器:建議使用QuackSync H.264,外顯比集顯優(yōu)秀更多的用戶可以使用NVIDIA NVENC(new)。以下只針對(duì)選用QuackSync H.264編碼作總結(jié):
目標(biāo)使用:與“簡(jiǎn)單”相同,quality或者balanced按需選擇。
速率控制:建議使用ICQ或者LA_ICQ。LA_ICQ相比ICQ多了前置緩存,理論上LA_ICQ比ICQ更加優(yōu)秀。
ICQ質(zhì)量:其數(shù)值與質(zhì)量成反比。數(shù)值越高,錄影碼率-質(zhì)量越低,占存儲(chǔ)空間越小,反之錄影碼率-質(zhì)量越高占存儲(chǔ)空間越大。建議值為20-30之間。
延遲:建議是normal,除端非延遲很高選擇low,但個(gè)人感覺用處不大。
“類型”為“自定義輸出(FFmpeg)”:
輸出類型:錄影就是“輸出到文件”。
容器格式:對(duì)錄影進(jìn)行剪輯或上傳到社交網(wǎng)絡(luò)的話建議設(shè)定為mp4。
視頻比特率:自行定義,值越高錄影畫質(zhì)越好。
視頻編碼器:如文章開頭所說,設(shè)定為libx264編碼為CPU編碼,錄制流暢但增重CPU負(fù)擔(dān)。外顯優(yōu)秀的用戶可以嘗試使用其他編碼。
關(guān)鍵幀(I幀):需要進(jìn)行錄影剪輯的用戶建議設(shè)為2,如果不需要的話可以是默認(rèn)值。
最大B幀:適量的B幀有利于錄影的壓縮來減小所占的存儲(chǔ)空間,不過對(duì)存儲(chǔ)空間沒有太大憂慮的用戶建議最大B幀設(shè)定為0,因?yàn)锽幀會(huì)加大CPU的負(fù)擔(dān)造成OBS錄影丟幀或者卡頓。
高級(jí)設(shè)定:
顏色格式:建議為RGB.
色彩空間:sRGB.
其余設(shè)定可以默認(rèn)。
其余設(shè)定目前沒有研究過,都是默認(rèn)。
其他OBS常見問題:
編碼過載:
設(shè)定要求過高會(huì)導(dǎo)致CPU占用率過高,按OBS官方的說法需要降低設(shè)定。不過在相同設(shè)定下,如果需要在電腦上輸出采集的視頻流(用電腦連接采集卡玩游戲的話一般都需要的),如果不介意熒幕大小,建議把預(yù)覽設(shè)為:“縮放至窗口大小”,這樣就不會(huì)因?yàn)殇秩玖魈髮?dǎo)致CPU過多占用(此舉并不影響錄影視頻流的實(shí)際分辨率大小)。
經(jīng)實(shí)踐,這個(gè)問題也與CPU溫度有關(guān),溫度過高觸發(fā)CPU自我保護(hù)降頻也會(huì)導(dǎo)致編碼過載,因此建議養(yǎng)成定時(shí)對(duì)電腦進(jìn)行清灰和定時(shí)更換導(dǎo)熱功率較高的硅脂(安全起見不建議使用會(huì)導(dǎo)電的液金硅脂)。
正在運(yùn)行的應(yīng)用程序過多也會(huì)導(dǎo)致CPU占用率過高,此處建議在使用OBS進(jìn)行錄影時(shí)關(guān)閉不需要的應(yīng)用程序特別是殺毒軟件。
????????(2)輸出模式為高級(jí):適于愿意折騰的用戶。
以上總結(jié)僅供參考,還請(qǐng)具體情況具體分析。
參考資料:
Intel 核顯幾種速率控制方式的比較:https://www.bilibili.com/read/cv3584134
OBSH.264編碼下預(yù)設(shè) profile B幀參數(shù)及影響:https://www.bilibili.com/read/cv9056690
OBS的調(diào)教(?)經(jīng)驗(yàn)記錄(如何降低丟幀率):https://www.bilibili.com/read/cv6849770
OBS錄制軟件音畫延遲/不同步解決方案:https://www.bilibili.com/read/cv11551498
如果大家有什么建議的話,歡迎在評(píng)論區(qū)留言喔!(*?▽?*)非常感謝!