Skip to the main content.

Did you know?

 

RTI is the world’s largest DDS supplier and Connext is the most trusted software framework for critical systems.

Success-Plan-Services-DSSuccess-Plan Services

Our Professional Services and Customer Success teams bring extensive experience to train, problem-solve, mentor, and accelerate customer success.

Learn more

Developers

From downloads to Hello World, we've got you covered. Find all of the tutorials, documentation, peer conversations and inspiration you need to get started using Connext today.

Try the Connectivity Selection Tool ⇢

Resources

RTI provides a broad range of technical and high-level resources designed to assist in understanding industry applications, the RTI Connext product line and its underlying data-centric technology.

Company

RTI is the infrastructure software company for smart-world systems. The company’s RTI Connext product is the world's leading software framework for intelligent distributed systems.

Contact Us

News & Events
Cooperation

Real-Time Video Data Streaming

Techniques, tuning and tradeoffs for streaming video data in real-time

⇠ All Case + Code Examples

Case-Code-hero

Introduction

Real-time streaming of video data from distributed or remote locations is often a system requirement, but it can lead the developer down a path of complexity when trying to balance latency and image quality when running on a constrained or congested network.

The technology behind streaming video codecs is continuously evolving; as of this writing, nearly 40 different video codecs are listed on Wikipedia. However, they all share a common trait of converting the video and audio to and from a stream of data.

The ability to stream video is becoming more common, desirable and necessary across industry applications. In particular, it is relevant in surgical procedures, where video data plays a crucial role in providing vital clinical and operational input for improved intraoperative guidance and decision-making, especially when combined and correlated with other data sources. Modern surgery requires video data in order to meet functional and auditory requirements for minimally invasive procedures. When combined with metadata and AI, video data becomes a pivotal information payload, yet requires real-time, reliable data connectivity.

RTI Connext provides the connectivity framework for scalable, secure communications across distributed applications. It is uniquely suited for effectively delivering streaming data in real time across local (LAN) or wide-area (Internet) networks. RTI Connext provides:

  • A reliable, scalable, and secure data sharing framework for real-time and distributed communications,
  • Transport-agnostic and cross-platform support
  • Automatic participant discovery and low inherent bandwidth consumption
  • Extensive Quality-of-Service (QoS) features to maximize performance and reliability- including filtering to optimize bandwidth, and history for late-joiners to receive previously delivered video

The following example highlights the techniques, tuning and tradeoffs for streaming video data in real-time by focusing on the moving of data, leaving the video codec portion to external processes. In particular, this example is using RTI Connext to create a plugin for the popular GStreamer multi-codec video streaming application.

This example is intentionally lean, with only a few source files to produce 2 plugins:

  • connextsink: takes camera frames at the end of a GStreamer pipeline and publishes them with Connext.
  • connextsrc: subscribes to camera frames from Connext and acts as a GStreamer source at the start of a pipeline.

This application also comes with a set of QoS Profiles optimized for video streaming across a range of RTI-supported transports, like shared memory, UDPv4, and the RTI Real-Time WAN Transport.

This example has been built and tested on Linux hosts to produce error-free transmission of 1080p high-definition video and audio over extended periods of time. It has also been tested on constrained platforms and across constrained networks using the compression features of GStreamer when needed to reduce the required network bandwidth.