top of page
XSplit 主页

如何提升直播质量并避免丢帧!

作家相片: SplitmediaLabs Limited
SplitmediaLabs Limited
2021年5月13日
讀畢需時 4 分鐘

配有Corsair、Asus和Gigabyte组件的RGB灯光电脑内部。色彩缤纷的风扇和线缆营造出充满活力的科技氛围。

我认为,开始直播时人们遇到的主要挑战之一,是对直播质量无休止的追求。直播质量可以指几件事:内容质量、制作质量,或直播视频流本身的质量。前两者非常重要,但如果画面像素化或每隔几秒就卡顿,观众不会一直留在你的直播间。因此今天我们要讨论直播质量,确切地说,是如何正确编码直播流来提升直播质量。


编码器


什么是编码器?编码器基本上会将你在直播软件中组合的内容(游戏画面、面部摄像头和音频)进行压缩,然后发送到互联网。这部分压缩工作占用了XSplit Broadcaster的大部分处理量,也是改善直播质量的重要因素。它可以由CPU通过X264完成,这叫软件编码;也可以由GPU通过NVENC、VCE或Quicksync完成,这叫硬件编码。

很长一段时间里,X264在编码方面绝对是最佳选择,但如今NVENC已经在较新的NVIDIA RTX(以及部分GTX)GPU上站稳脚跟,性能可以与X264抗衡。这也是为什么我在下方的PC组装指南中建议购买GPU进行编码,而不是购买昂贵的CPU。当然,那是在加密货币挖矿把一切搞乱之前。




分辨率和帧率


你可能会想,是什么让编码器如此辛苦?答案是分辨率和帧率。分辨率越高、帧率越快,编码器就必须以更大的尺寸处理更多图像,这会直接影响直播质量。

使用X.264时,为了在较高分辨率和帧率下保持画质,你需要选择更慢的预设。在XSplit Broadcaster中,你会看到这些预设:very fast、faster、fast、medium和slow,路径是……


Broadcast > 点击直播输出旁边的齿轮 > 点击Video Encoding部分的齿轮 > Encoder Preset


问题在于,使用这些预设时CPU使用率会呈指数增长,严重影响游戏体验,除非你使用双电脑直播设置,或根本不直播游戏。

另一方面,硬件编码器通常配有专门用于编码的芯片,因此可以限制编码对游戏帧率等方面的影响。如果必须使用CPU编码,建议选择核心数尽可能多的CPU(最多32核),尝试实现1080p 60fps直播所需的慢预设。

相应的选择是配备最新NVENC编码器的NVIDIA GPU,它位于RTX系列GPU中,可以达到X264中等预设的效果,某些情况下甚至更好。你也可以使用较旧的NVENC、VCE和Quicksync进行直播,但目前还无法达到当前NVENC或X264的性能……暂时如此。



两个人在热闹的游戏活动中玩电子游戏。显示器呈现色彩缤纷的游戏画面。氛围专注而充满竞争。
图片来源:Stem List,来自Unsplash

动作与码率


无论选择哪种编码器,对提升直播质量影响最大的因素都是码率。码率基本上就是你为视频和音频输出质量设定的互联网上传预算,越高越好。幸运的是,音频不需要太高的音频码率,因此大部分预算可以留给视频。现在,动作就会发挥作用。

画面中的动作越多,无论是每秒帧数增加,还是格斗游戏中的超级招式、第一人称射击游戏中的快速移动等画面变化增加,视频码率预算就越容易被摊薄。因此,对于动作很多的游戏,通常建议降低直播分辨率和或FPS。

现在,码率由两个因素决定:可用互联网带宽和直播平台。Twitch、Twitter或Facebook等直播平台都会限制可用带宽,通常约为6000 Kbps。为什么?因为使用的带宽越多,它们的账单就越高。

可用带宽取决于互联网连接。你可以通过简单的测速找到它。高流量时段可能会发生变化,但设置码率时通常不要使用超过可用带宽70%的部分,以免在线游戏出现问题。另外,如果可以,请通过有线连接连接直播电脑,因为这会显著改善直播质量!

一般规则是,将码率设置为互联网连接和直播平台允许的最高值。如果连接受限,可以降低分辨率和帧率,以适应较低码率。



一个人在昏暗的房间里戴着发光耳机,用电脑玩游戏。明亮的屏幕显示快节奏的动作场景。氛围专注。
图片来源:Sean Do,来自Unsplash

延迟、卡顿和丢帧


延迟是一个有趣的术语,尤其是在直播中,但编码通常会产生两种延迟。第一种发生在观众端,表现为直播卡顿或延迟,有时甚至离线后重新上线。在主播端,你也可能看到这个问题以及丢帧,通常有两个原因。


1)码率设置过高。如前所述,设置码率前先测速。你可能以前用过这个码率,当时没有问题,但正如我提到的,互联网服务提供商有时会遇到高流量时段或网络维护,从而影响整体带宽。最佳解决方案是降低直播流带宽。如果问题持续存在,请联系互联网服务提供商。


2)直播服务器出现问题。Twitch等主要网站会为不同地区设置专用直播服务器,但服务器有时会出问题。最佳解决方案是离线并更换服务器。如果问题反复出现,请进行带宽检查,以确定计划使用的服务器在开始直播前是否稳定。

你可以在XSplit Broadcaster中通过以下路径轻松更换服务器:


Broadcast > 点击直播输出旁边的齿轮 > 在“Server”下,将Automatic(或当前选择的服务器)改为离所在地区最近的下一个服务器。


以Twitch为例,确定服务器的好方法是查看此处,它会按距离顺序列出离你最近的服务器。



一个人戴着耳机玩游戏,专注于显示电子游戏的彩色屏幕。霓虹灯照明键盘,轻松的氛围,室内场景。
图片来源:Priyam Raj,来自Unsplash

观众有时也能看到下一种延迟,但如果主播正在玩游戏,通常是主播感受到或看到它。这通常称为直播编码器过载。简单来说,你试图以编码器无法处理的方式编码视频,这在使用x264编码时很常见。你的电脑会争夺CPU资源,导致直播丢帧,并影响电脑上运行的程序性能。

解决此问题的最佳方法是降低我们上面讨论的编码设置,最常见的原因是将X264预设设置得更高。如果这样还不能解决问题,就降低分辨率和或帧率。

总而言之,要通过正确编码获得良好的直播质量,请尽量使用硬件编码器,了解互联网和平台限制,遇到问题时降低设置。希望这些内容能帮助你。如果还有其他希望我们讨论的主题,请在这篇文章下留言!


留言


bottom of page