-->

Review: NETINT Quadra T1U Video Processing Unit

文章特色图片

本综述将重点介绍 NETINT Quadra T1U and explore its capabilities as a video processing unit (VPU) for high-volume encoding and 代码转换 of single files, 编码梯子, 还有直播.

The Quadra T1U VPU uses the Codensity G5 ASIC (application-specific integrated circuit) chip (Figure 1),装在一个钱包大小的U.2外形尺寸. NETINT refers to the product as a VPU because in addition to 代码转换 functions, it performs scaling and overlay onboard and has AI rendering capabilities, 我在这篇评论中没有测试过吗. The cost is around $1,500, and 10–20 units can fit in a single server with the necessary U.2 slots. The U.2 slot uses the same ultra-highspeed PCIe connector as graphics cards. Each Quadra T1U draws only 17 watts of power and delivers more throughput than a computer that draws 400-plus watts.

NETINT codense G5 ASIC芯片

Figure 1. Codensity G5 ASIC芯片

Quadra T1U提供以下功能:

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

正如前面提到的, the key component of the Quadra T1U is the ASIC chip. Transcoders with ASIC chips hold significant advantages over CPU-based and GPU-based encoders since they can be designed for a specific purpose—in this case, 代码转换. Some other key benefits of ASIC chips are that they allow for smaller devices, 执行专门任务, and improve efficiency by reducing power consumption.

Quadra T1U设置

The Quadra T1U hardware setup is straightforward. 除了美国之外.2外形尺寸, Quadra T1U采用PCIe形式, similar to a network card or GPU that the user can install. Individuals with previous experience working on computers should be able to set up this device.

For software install, NETINT works with FFmpeg and GStreamer and has an SDK with an API. The Quadra T1U ships with scripts that automate the software installation process for users. You can read a post about installing the product’s hardware and software in 这篇LinkedIn帖子.

用于本综述中的测试, NETINT installed the Quadra T1U on a remote server and configured it for me. The company also provided scripts for my testing. So, all I had to do was connect through the Bitvise SSH Client to run my tests.

使用Quadra T1U

正如前面提到的, 运行Quadra T1U时, you can use FFmpeg or GStreamer scripts or run it directly via the API. I tested by connecting to the remote computer and running scripts in the terminal. You’ll also need a tool for generating reports for video quality metrics if you want to generate VMAF, SSIM, 和PSNR分数.

The reviewer’s guide I used was written for Windows computers, and the open source programs for connecting and measuring quality were all Windows-based. For this reason, I tested using a Windows computer.

The Bitvise SSH Client and FFMetrics tools recommended by NETINT for my testing both run on Windows. The Bitvise SSH Client is used to connect to the server running the Quadra T1U and perform various tasks. What’s helpful about using this tool is that it easily allows users to connect to the server and open multiple terminal windows to run commands. You need multiple terminal windows for functions like reviewing encoding status and CPU usage. The Bitvise SSH Client is available for download at go2sm .com/bitvise.

FFMetrics is used to generate VMAF, SSIM, 和PSNR分数. 为了审查和测试Quadra T1U, I used Windows Server 2019 on an Amazon Web Services EC2 instance to connect to the Quadra T1U and run testing scripts. I installed the Bitvise SSH Client and FFMetrics on the Windows Server. 可以找到FFMetrics测试版 here.

It’s important to note that there is no GUI for working with the Quadra T1U. You’ll need some BASH scripting experience using the terminal to run scripts once connected with the Bitvise SSH Client.

使用Quadra T1U

Once the Quadra T1U is installed and set up, you can begin using the VPU to run encodes. 在开始编码之前, though, you’ll need to connect your Bitvise SSH Client to the server and run some basic commands using terminal windows to get the Quadra T1U ready for use.

首先,启动Bitvise或SSH Client. Enter your IP information in the Host section along with your port number, as shown in 图2(下面). 接下来,添加您的用户名和密码. 然后单击“Log in”按钮.

bitwise SSH客户端

Figure 2. 登录Bitvise SSH客户端

Next, it’s time to run some commands to start using the Quadra T1U. 一旦使用Bitvise登录, you can open terminal windows to run commands or navigate to folders where you may want to run tests.

To open terminal windows, click the New terminal console button shown on the left in 图3(下面). 您最多可以打开10个终端窗口, which was a limit I never came close to reaching in my testing.

打开终端窗口

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

To navigate to directories on the Quadra T1U, click New SFTP window, and choose the directory. First, open a terminal window, and run the following command to initialize the Quadra T1U:

init_rsrc

Second, open another terminal window to open throughput testing, then run this command:

ni_rsrc_mon它们

The command runs the monitoring utility and refreshes every 5 seconds. It monitors decoder/encoder/scaler utilization.

接下来,打开另一个终端窗口. 在这个窗口, you’ll track how many versions of FFmpeg are running simultaneously, and you’ll also monitor the overall system load. 运行命令:

top

The terminal window will show tracking versions of FFmpeg running and monitoring overall system load when encoding is not taking place. Overall system utilization is low during Quadra T1U operation and quite high when encoding using CPU-only codecs like x265 and x264.

Finally, open a fourth window to run scripts. To run a single script, navigate to the folder where your script is, and run chmod +x on the script. It will appear as follows in the terminal window:

Chmod +x scriptname.sh

测试Quadra T1U

The specs of the Ubuntu server used during testing for this review are as follows:

  • AMD Ryzen 5 5600X 6核CPU
  • AMD Ryzen 5 5600X 6核CPU running at 2200 MHz
  • 每个核两个线程
  • 12个CPU线程
  • 16GB RAM

This server has six CPUs and 12 cores, so the total available system CPU is 1,200%.

回顾一下, I was interested in learning whether the Quadra T1U could benefit colleges and universities like mine, 俄亥俄州立大学. 根据我们的视频需求, 大学的, there are thousands of encodes for on-demand videos weekly. Many of these encodes use 编码梯子. There are not as many weekly live streams.

These are the questions I hoped to answer in this review:

  • Could encoding with the Quadra T1U provide a significant reduction in CPU usage for single-file encodes and encoding with 编码梯子?
  • Could significantly more encodes be performed using the Quadra T1U compared to CPU-based encoding?
  • Would the quality of encoding using the Quadra T1U be the same as FFmpeg encodes or better?

为了我的测试, NETINT provided guidance and instructions for best approaches to testing the Quadra T1U in ways that video engineers could benefit from and for how its customers use the product.

以下是我的测试结果:

吞吐量:单文件编码

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

吞吐量:阶梯编码

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

Quality: H.264/HEVC

  • Throughput optimized (Quadra T1U and FFmpeg comparisons)
  • Quality optimized (Quadra T1U and FFmpeg comparisons)

吞吐量测试:单文件

First, I’ll discuss single-file throughput testing. 在Quadra T1U上, I ran a master script to perform 32 simultaneous FFmpeg encodes with one of the selected Quadra hardware codecs. Each encode input a 1080p file from a RAM drive to simulate live operation. The details about the “Football” source are shown in 图4(下面). This source was used in testing throughout this review.

mediainfo

Figure 4. Details for source for this review as seen in Mediainfo

To run each test, I navigated the server and selected and ran a test command similar to this:

./ test_32_H264.sh

The 32 in the name shows the number of simultaneous encodes achieved by calling and running 32 separate encoding scripts. When 代码转换 a single file to a single output with all three codecs, Quadra produced 32 30 fps simultaneous transcodes that I verified in the encoding logs. 与此形成鲜明对比的是, 仅使用FFmpeg和CPU进行编码, the server produced only five FFmpeg x264 encodes and three FFmpeg x265 encodes.

图5(下面) shows what the script looks like for single-file throughput testing using the Quadra T1U.

quadra的命令字符串

Figure 5. Command string for Quadra with explanations

图6(下面) shows the x264的命令字符串 FFmpeg encodes.

x264的命令字符串

Figure 6. Command string for x264 with explanations

最后, 图7(下面) shows the x265的命令字符串 encodes.

x265的命令字符串

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

Once you submit the script to Quadra for encoding, 你会看到解码器, encoders, scalers, 和FFmpeg实例的数量. ModelLoad 100 means you’ve maxed out on encoding. That’s why each codec encode peaked at 32, the Quadra T1U’s maximum capacity.

The Ubuntu top utility shows CPU utilization and the number of FFmpeg encodes running in this terminal window during a Quadra T1U encoding. CPU usage is extremely low when performing encodes on the Quadra T1U, but significantly higher when running FFmpeg CPU encodes. This occurred consistently during my tests.

In my tests, I was able to maintain only five simultaneous FFmpeg x264 encodes. 因为CPU max是1,200%,我的测试显示CPU使用率为963%, another successful encode is not impossible. But the system tried six encodes and could not maintain the frame rate of 30 fps.

图8(下面) shows a summary of my results for single-file throughput testing. The Expected Value column shows the number of encodes included in each master script, and the Actual Value column shows what happened during my tests.

吞吐量测试的结果

Figure 8. Results for Throughput Testing – Single File

用FFmpeg控制Quadra T1U, I had 32 simultaneous encodes for each Quadra hardware codec using one Quadra T1U module. For CPU-based encodes with FFmpeg, the max encodes were five for x264 and three for x265. This really illustrates the advantages that ASIC-based encoding has over CPU-based encoding and the potential cost savings per stream.

相关文章

VOD编码器买家指南

What's the best solution for your video on-demand encoding needs? That depends, but this guide will help you figure out which questions to ask.

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

流媒体's Jan Ozer and NETINT's Ray Adensamer discuss NETINT's Codensity T400, which is aimed at companies that need to do large live video encoding jobs at scale.

提及的公司及供应商