libRIST: New Updates to Deliver Multiple Streams Using RIST

By Sergio Ammirata, Chief Scientist, SipRadius

 

Back in 2020, we announced the availability of libRIST, the first publicly available version of the RIST (Reliable Internet Streaming Transport) Protocol. Essentially libRIST provides a fast-start for developers wishing to incorporate a production quality implementation of the new standard in their own projects. It also provides a platform which they can test or measure their own work against.

 

libRIST, a FOSS implementation of the RIST protocol, provides a library and command-line utilities for both developers and users to take advantage of the RIST error correction protocol. Any udp or rtp stream can be easily directed through libRIST, then faithfully transported over less-than-ideal Internet connections, without losing quality. libRIST features a high level of security, support for multiple source streams or multiple destinations, a dynamic approach to buffering, and optionally, a fine-toothed control over all the parameters that affect the RIST connection.

 

libRIST already supports many of the more advanced features of the protocol, such as encryption. The latest version, 0.2.7 is notable mainly for a major feature addition. Any external program can now combine multiple streams through a single error correcting RIST channel by pointing to a virtual address/port. This makes it easier for users to handle multiple camera feeds within RIST. Under the linux OS, this can be accomplished through an exposed TUN device or virtual port. Under Windows, it is accomplished via a virtual port. This can be a useful and convenient feature, particularly when a peer behind a NATted interface is connected. Besides directing streams, the feature can make it easier for shell commands or scripts to connect to/from services on the NATted host as the TUN device can also be configured as a bidirectional tunnel for OOB data.

 

As a mature FOSS implementation of the RIST protocol, libRIST’s other recent improvements may not be quite as dramatic. One "show-stopper" Windows bug in the "receive" side was fixed. There are a handful of minor bug fixes and updates aimed at making it easier for users to ensure production-quality video can be sent over the internet. These include:

·      compatibility with the latest mbed TLS library (v. 3.0); 

·      improvements in logging of rtp streams; 

·      improvements in handling changes when weighted multi-path routing is active, such as automatic recalculation of relative weighting based upon changes in peer status, as occurs when connecting or dis-connecting a peer; 

·      improved memory handling in Windows. 

·      The production-quality example programs, ristsender and ristreceiver, are updated to provide access to the new TUN/muxing feature. 

·      rist2rist, designed for cloud forwarding between various ristsenders and ristreceivers at the edges, also includes a number of minor fixes.

-- 

 

RIST provides an open, interoperable and technically robust solution for low-latency live video over unmanaged networks. libRIST makes it simple and cost-effective for any video provider to deliver broadcast-grade video using RIST, helping speed up adoption and ensure viewers can continue to receive good quality video no matter how it is transported.

Helen Weedon