Site Search

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

  

To recap, Rivermax is an SDK (Software Development Kit) that uses software to realize broadcasting equipment functions 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 that allows you to design applications that are aware of frames/lines rather than IP packets
- Ability to deploy in cloud environments such as container environments
・PTP stack
・NMOS compatible
- SMPTE ST 2110/2022 compliant
- ST2022-7 support via hardware (ConnectX-6 Dx and 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

A stream of video and other data is sent from the network in the form of a series of IP (RTP: Real Time Protocol) packets. When Rivermax receives this data,

 

1) Separate the RTP header and the video part.

2) Store the RTP header in memory

3) The video portion is stored in memory as an ST2110/2022 payload.

4) Notify the 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) Video data is stored in memory in the form of ST2110/2022 payload

2) Call the Send API

 

Take the steps. At that time, inside Rivermax,

 

- Encapsulating ST2110 payload in IP packets

- The first packet is transmitted in hardware synchronization with the alignment point (SMPTE EPOCH) specified in ST2059-1.

- Packet Pacing compliant with ST2110-21

 

automatically.

Rivermax receive transmit

Cooperation with GPU

When you hear the name NVIDIA, the first thing that comes to mind is probably GPU. As the name Graphics Processing Unit suggests, GPUs excel at processing video/images. This is one of the main functions required for broadcasting equipment, and another solution provided by NVIDIA is the integration of Rivermax and GPUs.

 

Normally, data in GPU memory that is sent to and received from the network is first sent and received via the host CPU. GPUDirect is a function that allows data to be sent and received directly from GPU memory (without going through the host CPU) to the network, which significantly reduces host CPU/memory processing and PCIe BUS traffic. This GPUDirect can also be used with 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

Hiroshi Funaki

 

 

Biography:

After working on communications equipment development at a certain domestic manufacturer, he joined Macnica. After supporting semiconductors for communications equipment, he was in charge of NVIDIA products. In recent years, he has been involved in promotion and support, mainly for the broadcasting industry.

Contact Us