-->
获得免费通行证,加入我们的流媒体连接-2月19日至22日; 现在注册!

回顾:NETINT Quadra T1U视频处理单元

文章特色图片

本综述将重点介绍 NETINT Quadra T1U 并探索其作为视频处理单元(VPU)的能力,用于大容量编码和单个文件的转码, 编码梯子, 还有直播.

Quadra T1U VPU采用Codensity G5专用集成电路芯片(Figure 1),装在一个钱包大小的U.2外形尺寸. NETINT将该产品称为VPU,因为除了转码功能之外, 它执行缩放和覆盖板上,并具有人工智能渲染功能, 我在这篇评论中没有测试过吗. 成本约为1,500美元,一台服务器可以容纳10-20个单元,并配备必要的U.2 slots. The U.2插槽使用与显卡相同的超高速PCIe连接器. 每台Quadra T1U只消耗17瓦的功率,却比一台消耗400瓦以上功率的计算机提供更多的吞吐量.

NETINT codense G5 ASIC芯片

Figure 1. Codensity G5 ASIC芯片

Quadra T1U提供以下功能:

  • AV1/H.264 / HEVC / YUV编码
  • VP9/H.264 / HEVC / YUV解码
  • 在扩展
  • 上覆盖
  • 两个AI深度神经网络引擎

如前所述,Quadra T1U的关键部件是ASIC芯片. 与基于cpu和基于gpu的编码器相比,带有ASIC芯片的转码器具有显著的优势,因为它们可以为特定目的而设计——在这种情况下, transcoding. ASIC芯片的其他一些关键优点是它们允许更小的设备, 执行专门任务, 并通过降低能耗来提高效率.

Quadra T1U设置

Quadra T1U硬件设置很简单. 除了美国之外.2外形尺寸, Quadra T1U采用PCIe形式, 类似于用户可以安装的网卡或GPU. 有计算机工作经验的个人应该能够设置此设备.

对于软件安装,NETINT与FFmpeg和GStreamer一起工作,并具有带有API的SDK. Quadra T1U附带脚本,可为用户自动执行软件安装过程. 你可以阅读一篇关于安装该产品的硬件和软件的文章 这篇LinkedIn帖子.

用于本综述中的测试, NETINT在远程服务器上安装了Quadra T1U,并为我进行了配置. 公司还为我的测试提供了脚本. 因此,我所要做的就是通过Bitvise SSH Client连接以运行我的测试.

使用Quadra T1U

正如前面提到的, 运行Quadra T1U时, 您可以使用FFmpeg或GStreamer脚本或直接通过API运行它. 我通过连接到远程计算机并在终端中运行脚本进行了测试. 如果想生成VMAF,还需要一个工具来生成视频质量指标的报告, SSIM, 和PSNR分数.

我使用的评测指南是为Windows电脑编写的, 用于连接和测量质量的开源程序都是基于windows的. 出于这个原因,我用一台Windows电脑进行了测试.

NETINT为我的测试推荐的Bitvise SSH Client和FFMetrics工具都在Windows上运行. Bitvise SSH Client用于连接Quadra T1U所在的服务器,并执行各种任务. 使用这个工具的好处是,它允许用户轻松地连接到服务器并打开多个终端窗口来运行命令. 您需要多个终端窗口来执行检查编码状态和CPU使用情况等功能. Bitvise SSH Client可从go2sm下载 .com/bitvise.

FFMetrics用于生成VMAF、SSIM和PSNR分数. 为了审查和测试Quadra T1U, 我在亚马逊网络服务EC2实例上使用Windows Server 2019连接到Quadra T1U并运行测试脚本. 我在Windows服务器上安装了Bitvise SSH客户端和FFMetrics. 可以找到FFMetrics测试版 here.

值得注意的是,Quadra T1U没有GUI. 您需要一些BASH脚本编写经验,以便在与Bitvise SSH Client连接后使用终端运行脚本.

使用Quadra T1U

一旦Quadra T1U被安装和设置,你就可以开始使用VPU来运行编码了. 在开始编码之前, though, 您需要将Bitvise SSH Client连接到服务器,并使用终端窗口运行一些基本命令,以使Quadra T1U准备好使用.

首先,启动Bitvise或SSH Client. 在Host部分中输入您的IP信息以及端口号,如所示 图2(下面). 接下来,添加您的用户名和密码. 然后单击“Log in”按钮.

bitwise SSH客户端

Figure 2. 登录Bitvise SSH客户端

接下来,是时候运行一些命令来开始使用Quadra T1U. 一旦使用Bitvise登录, 您可以打开终端窗口来运行命令或导航到您可能想要运行测试的文件夹.

要打开终端窗口,请单击左侧的New终端控制台按钮 图3(下面). 您最多可以打开10个终端窗口, 这是我在测试中从未接近过的极限.

打开终端窗口

Figure 3. 打开终端窗口和SFTP窗口

单击“新建SFTP窗口”,选择新目录,即可进入Quadra T1U的目录. 首先,打开终端窗口,运行如下命令初始化Quadra T1U:

init_rsrc

其次,打开另一个终端窗口,打开吞吐量测试,然后运行以下命令:

ni_rsrc_mon它们

该命令运行监控实用程序,每5秒刷新一次. 它监视解码器/编码器/缩放器的利用率.

接下来,打开另一个终端窗口. 在这个窗口, 您将跟踪同时运行多少个版本的FFmpeg, 您还将监视整个系统负载. 运行命令:

top

终端窗口将显示FFmpeg运行的跟踪版本,并在不进行编码时监视整个系统负载. 在Quadra T1U操作期间,整体系统利用率很低,而在使用仅cpu的编解码器(如x265和x264)进行编码时,系统利用率相当高.

最后,打开第四个窗口来运行脚本. 要运行单个脚本,请导航到脚本所在的文件夹,并在脚本上运行chmod +x. 在终端窗口中显示如下:

Chmod +x scriptname.sh

测试Quadra T1U

本次评测测试中使用的Ubuntu服务器规格如下:

  • AMD Ryzen 5 5600X 6核CPU
  • AMD Ryzen 5 5600X 6核CPU运行在2200mhz
  • 每个核两个线程
  • 12个CPU线程
  • 16GB RAM

该服务器有6个CPU和12个内核,因此总可用系统CPU为1200%.

回顾一下, 我很想知道Quadra T1U是否能让像我这样的高校受益, 俄亥俄州立大学. 根据我们的视频需求, 大学的, 每周有成千上万的视频编码可供点播. 这些编码中有许多使用编码阶梯. 没有那么多的每周直播.

以下是我希望在这篇综述中回答的问题:

  • 使用Quadra T1U进行编码是否可以显著减少单文件编码和使用编码阶梯进行编码的CPU使用量?
  • 与基于cpu的编码相比,使用Quadra T1U可以执行更多的编码吗?
  • 使用Quadra T1U编码的质量是否与FFmpeg编码相同或更好?

为了我的测试, NETINT为测试Quadra T1U的最佳方法提供了指导和说明,视频工程师可以从中受益,并了解客户如何使用该产品.

以下是我的测试结果:

吞吐量:单文件编码

  • H.264、HEVC、AV1(使用Quadra T1U)
  • x264/x265(使用FFmpeg)

吞吐量:阶梯编码

  • H.264、HEVC、AV1(使用Quadra T1U)
  • x264/x265(使用FFmpeg)

Quality: H.264/HEVC

  • 吞吐量优化(Quadra T1U和FFmpeg比较)
  • 质量优化(Quadra T1U和FFmpeg比较)

吞吐量测试:单文件

首先,我将讨论单文件吞吐量测试. 在Quadra T1U上, 我运行了一个主脚本,使用所选的Quadra硬件编解码器之一同时执行32个FFmpeg编码. 每个编码从RAM驱动器输入一个1080p文件来模拟实时操作. 有关“足球”来源的详细信息显示在 图4(下面). 在整个综述的测试中使用了该来源.

mediainfo

Figure 4. 本评论的详细来源见Mediainfo

为了运行每个测试,我导航到服务器,选择并运行一个类似于这样的测试命令:

./ test_32_H264.sh

名称中的32表示通过调用和运行32个单独的编码脚本实现的同时编码的数量. 使用所有三种编解码器将单个文件转换为单个输出时, 我在编码日志中验证了Quadra同时产生32个30 fps的转码. In contrast, 仅使用FFmpeg和CPU进行编码, 服务器只生成了5个FFmpeg x264编码和3个FFmpeg x265编码.

图5(下面) 展示了使用Quadra T1U进行单文件吞吐量测试时脚本的样子.

quadra的命令字符串

Figure 5. 带有解释的Quadra命令字符串

图6(下面) 显示用于x264 FFmpeg编码的命令字符串.

x264的命令字符串

Figure 6. 带有解释的x264命令字符串

最后, 图7(下面) 显示x265编码的命令字符串.

x265的命令字符串

Figure 7. x265的命令字符串和解释

一旦将脚本提交到Quadra进行编码, 你会看到解码器, encoders, scalers, 和FFmpeg实例的数量. ModelLoad 100意味着你的编码已经达到了极限. 这就是为什么每个编解码器编码的峰值是32,这是Quadra T1U的最大容量.

在Quadra T1U编码期间,Ubuntu的顶部实用程序显示CPU利用率和在此终端窗口中运行的FFmpeg编码的数量. 在Quadra T1U上执行编码时,CPU使用率极低, 但在运行FFmpeg CPU编码时明显更高. 这种情况在我的测试中一直发生.

在我的测试中,我只能同时维护5个FFmpeg x264编码. 因为CPU max是1,200%,我的测试显示CPU使用率为963%, 另一个成功的编码并非不可能. 但是系统尝试了6种编码,无法保持30帧/秒的帧率.

图8(下面) 显示了我的单文件吞吐量测试结果的摘要. 期望值列显示了每个主脚本中包含的编码数, 实际值列显示了测试期间发生的情况.

吞吐量测试的结果

Figure 8. 吞吐量测试的结果-单个文件

用FFmpeg控制Quadra T1U, 我使用一个Quadra T1U模块为每个Quadra硬件编解码器同时进行32个编码. 对于使用FFmpeg的基于cpu的编码,x264的最大编码数为5,x265的最大编码数为3. 这确实说明了基于asic的编码相对于基于cpu的编码的优势,以及每个流的潜在成本节约.

相关文章

VOD编码器买家指南

什么是您的视频点播编码需求的最佳解决方案? 这要视情况而定,但本指南将帮助您弄清楚该问哪些问题.

NAB 2019: NETINT谈高密度H.265编码

流媒体的Jan Ozer和NETINT的Ray Adensamer讨论NETINT的高密度T400, 这是针对那些需要大规模进行实时视频编码工作的公司.

提及的公司及供应商