这里讨论当你的电脑设备,cpu足够强大, 比如i9-14代, 英伟达显示4070以上的场景。
先说结论
- 如果cpu足够强大, 除了处理软件界面和常规操作外, cpu的利用率还不是很高,则建议用cpu软编码好一些;
- 如果CPU一般,比如i7系列,i5系列,但GPU还可以, 比如RTX3070,RTX3080, RTX4070这些, 则还是建议 用GPU硬编码;
为什么强调cpu,原因:
- 软编码大部分采用ffmpeg中的x264编码, 他有以下优势:
- 灵活的参数调整(如预设从ultrafast到veryslow),在"slow"或更高预设下,能实现最佳压缩,减少块状 artifact 和模糊。
- 适合相对静态元素的区域(如 overlays、文字、面部细节,展示产品时暂停几秒的产品细节)更清晰的场景,因为比特分配更均匀。
- 能提供更少的压缩伪影和更均匀的比特分配。
- 验证形式:一般的图像很难验证过来, 可以找一个颜色过渡的图像,比如下面这张图片;同样的参数情况下,用cpu编码,则细节保留的不错,没有明显的过度;而用GPU则会出现明显的波浪曲线或色块;尤其是在码率无法设置很高的情况下,更加明显;但如果码率都是10M,则几乎看不出来;

总结
- cpu不强的, 用GPU编码,独立显卡编码, 影响图像质量的众多参数中:分辨率和码率最重要, 顶格设置; 然后就是CBR,profile, fine-tune等;
- cpu强的, 又是单平台开播,则可以先CPU试试, 确实好,直播2--3小时候,也不会引起电脑温度上升,画质也稳定, 可以试试;
- (和我们合作的做直播间搭建的公司,是CPU为先,但我们还是建议实际测试后尝试)