利用GPU进行视频编解码 用于视频编解码的显卡_互联网时代

 

 

随着数字时代和互联网时代的到来,无论在电视上、PC上、还是手机上,我们所看到的视频基本都是数字信号。为了适应各种产品、各种平台的对视频的需求,视频需要在各种格式、码率、分辨率之间相互转换。例如,我们在网络视频平台或者直播平台上选择不同分辨率及清晰度的视频进行播放,观看视频就涉及到解码的过程,而在服务端就存在一个视频转码的需求。

 

为什么选择显卡编解码?

 

NVIDIA Codec 硬件编解码有天生的优势。首先,编码性能好,NVDEC 和 NVENC 的性能不是 CPU 可以匹敌的,特别是多路编码的情况下。软件调用显卡去编解码会大大提高效率,节省时间。其次,CPU 在进行编解码时,硬件占用率会很高,这样就会影响其他应用的正常运行,特别是在做图形设计或者游戏过程中,编码占用太多 CPU 资源就会导致应用卡顿。而使用显卡编码不会占用太多系统资源,不会影响应用的使用性能。

NVIDIA 显卡通常都带有硬件编解码的芯片,可以支持各种格式的视频进行解码播放和转换。编码使用 NVENC 芯片,解码使用 NVDEC 芯片。NVIDIA 显卡已经支持大多数的视频格式的编解码了。详细参考下图:

对于解码来讲相对简单一些,解码性能最主要看两个指标就可以了,一个是单解码器解码的帧数,一个是解码芯片数。显卡中带有的NVDEC解码芯片数量可以参考以下表格:

利用GPU进行视频编解码 用于视频编解码的显卡_编解码_02

 

 

利用GPU进行视频编解码 用于视频编解码的显卡_利用GPU进行视频编解码_03

 

 

Tesla T4 解码性能高,是因为他有两个 NVDEC 解码芯片。如果按照一路 1080P 的视频,编码格式为 HEVC,帧率是 30FPS 的话,那么一张 T4 就可以完成 70 路左右视频的解码工作。由于解码芯片的数量相同,所以使用 Quadro RTX 4000 和 RTX 5000 也能达到相同的效果。并且 Quadro 是主动散热带有显示输出的,可以灵活的在工作站上使用。T4 和 P4 由于是被动散热的,所以对环境的要求会更高。

编码使用的是 NVENC 的编码芯片,NVENC 编码器数量越多,编码性能就越高。不同型号显卡 NVENC 编码芯片数量参考下表:

利用GPU进行视频编解码 用于视频编解码的显卡_编解码_04

 

 

从表格中可以看到,虽然入门级 Quadro 卡也具有一个 NVENC 编码芯片,但是其最大会话数量是有限制的。也就是说视频编码,最多只能支持3路同时编码,这和游戏卡是相同的。这也是在很多专业领域客户选择 Quadro 和 Tesla专业卡的重要原因。

 

编码性能如何?我们参考下图:

利用GPU进行视频编解码 用于视频编解码的显卡_硬件编解码_05

 

 

利用GPU进行视频编解码 用于视频编解码的显卡_利用GPU进行视频编解码_06

 

 

利用GPU进行视频编解码 用于视频编解码的显卡_硬件编解码_07

 

 

 

 

利用GPU进行视频编解码 用于视频编解码的显卡_编解码_08

 

 

 

 

利用GPU进行视频编解码 用于视频编解码的显卡_利用GPU进行视频编解码_09

 

 

利用GPU进行视频编解码 用于视频编解码的显卡_互联网时代_10

 

 

 

 

利用GPU进行视频编解码 用于视频编解码的显卡_互联网时代_11

 

利用GPU进行视频编解码 用于视频编解码的显卡_利用GPU进行视频编解码_12