Forefront of Video Transmission IP Episode 3 Overview of NVIDIA Rivermax SDK

This article is the 3rd episode of the [Forefront of video transmission IP conversion] series.

Episode 1 Evolution of technology in the broadcasting industry

Episode 2 Softwareization of broadcasting equipment

Episode 3 Overview of NVIDIA Rivermax SDK

  

As a review up to the last time, Rivermax is an SDK (Software Development Kit) for realizing the functions of broadcasting equipment using software on a platform such as a general-purpose server. This SDK provides various functions necessary for realizing broadcasting equipment. The main functions/features are as follows.

  

・Supported CPU: x86, ARM
・Supported OS: Linux, Windows
・API for designing applications that consider frames/lines instead of IP packets
・Functions that can be deployed in cloud environments such as container environments
・PTP stack
・NMOS compatible
・Compliant with SMPTE ST 2110/2022
・ST2022-7 support by hardware (ConnectX-6 Dx or later)

Rivermax

Rivermax application interface

Among the features of Rivermax mentioned earlier, there is an API that allows you to design applications that are conscious of frames/lines instead of IP packets. When I imagine people who want to develop broadcasting equipment using Rivermax, I think that many people are currently developing broadcasting equipment based on SDI. In order to make it relatively easy for such people to use, Rivermax's API is designed to be able to send and receive streams with SMPTE 2110/2022 frames/lines in mind, without being conscious of IP packets as much as possible. Specifically, it works as follows:

reception

Streams such as video are sent from the network side in the form of a series of IP (RTP: Real Time Protocol) packets. Upon receiving this, Rivermax

 

1) Separate the RTP header part from the video part.

2) Store RTP header part in memory

3) Store video part in memory in the form of ST2110/2022 payload

4) Notification to application

 

Such actions are performed continuously.

send

In the application, when passing a stream such as a video you want to send to Rivermax,

 

1) Store video data in memory in the form of ST2110/2022 payload

2) Call Send API

 

Take the steps. At that time, inside Rivermax,

 

ØST2110 payload encapsulated in IP packet

Ø Synchronize the first packet to the Alignment point (SMPTE EPOCH) defined in ST2059-1 by hardware and send

Packet Pacing per ØST2110-21

 

automatically.

Rivermax receive transmit

Cooperation with GPU

RivermaxやConnectX NICは、2020年にNVIDIA社が買収した、Mellanox technologiesという会社が販売していた製品です。現在は、NVIDIA社のNetworking部門としてネットワーク製品を提供しております。

 

On the other hand, I think the first thing that comes to mind when you hear the name NVIDIA is GPU. As the name of the Graphics Processing Unit suggests, the GPU is good at processing video/images. This is one of the main functions required for broadcasting equipment, so another solution provided by NVIDIA is linking Rivermax and GPUs.

 

Prior to the merger, NVIDIA and Mellanox had offered a solution called GPUDirect. Normally, data on the GPU memory sent and received to the network is sent and received once through the Host CPU. GPUDirect is a function that allows data to be sent and received directly from the GPU memory to the network (without going through the host CPU), which dramatically reduces the amount of host CPU/memory processing and PCIe BUS traffic. This GPUDirect is now also available on Rivermax.

  

Specifically, the behavior is as shown in Figure 3-3.

No GPU Direct

Stream data such as video sent from the network is expanded once in the memory of the host CPU in a form divided into RTP headers and video data. After that, only the video data part is expanded to GPU via PCIe BUS.

GPU Direct

Stream data sent from the network is directly expanded on the GPU memory. As a result, you can enjoy the benefits of eliminating copy processing, reducing PCIe BUS transfers, reducing transfer delays, reducing CPU processing, and maximizing GPU processing.

 

In addition, when GPUDirect and Rivermax are combined, only the video part of the streaming data is GPUDirect processed, and the RTP header part attached to it is processed in the CPU memory, making it easier to handle video data. Improved. GPUDirect processing when using Rivermax is also introduced in the form of animation on this site, so please refer to it as well.

GPU Direct

Use Cases for Rivermax Solutions

By making full use of the solutions based on Rivermax and ConnectX 5/6DX introduced so far, broadcasting equipment such as multi-viewers, playouts, and recorders can be realized with general-purpose servers and software.

 

Several cases have already been reported both in Japan and overseas. For individual case studies, please visit the NVIDIA website.

Macnica 's efforts

So far, we have introduced Rivermax solutions and case studies, but when it comes to actually developing equipment using Rivermax, there are some obstacles for those who have developed SDI-based broadcasting equipment. thinking about. One of them will be the implementation of the SMPTE standard, which assumes IP, such as ST2110/2022.

 

Our company, Macnica, has been providing back-end support to manufacturers in the development of broadcasting equipment, such as developing and providing IP cores for SDI-IP Gateways using FPGAs, and we have accumulated a lot of know-how in both SDI and IP. Ta. Currently, we are building software-based development support solutions using Rivermax while making use of this know-how.

 

Engineers who are actually building solutions introduce the results of various trials using Rivermax, as well as demo videos of Macnica solutions. Please refer to this link.

Thank you for watching until the end

Engineers who are actually building solutions introduce the results of various trials using Rivermax, as well as demo videos of Macnica solutions.

 

In addition, SMPTE ST 2110 software implementation example - implementation with GStreamer - (PDF) explains how to use GStreamer as a video processing application and implement the IP live transmission standard "SMPTE ST 2110" with software. . Please refer to this as well.

Author profile

Hiroshi Funaki

Macnica CLAVIS Company

Technology Management Department, Technology Department 3, Section 2

Hiroshi Funaki

 

 

Biography:

After working in communication equipment development at a certain domestic manufacturer, joined Macnica. After supporting semiconductors for communication equipment, he started working on NVIDIA (formerly Mellanox) products for about seven years. In recent years, he has been engaged in promotion and support mainly for the broadcasting industry.