Sergio Ammirata, Ph.D., chief scientist, SipRadius
Distributing video over the internet is everywhere today. But it has its technical challenges: the internet is inherently unpredictable and unreliable, and nothing we in the media industry can do is going to change that.
So we have to find ways of making the internet less chaotic, at least for our media streams. There are a number of protocols out there which tackle this challenge. One of the most prominent is RIST: Reliable Internet Stream Transport.
What is really important is that this is an open standard. It only has value if it is completely interoperable: you can send from any device, carry it over an unmanaged network (like the internet), and receive it on any device, completely transparently.
It was created from an open-source forum. I took a major part in creating the specifications and delivering the code. I have a patent for a part of RIST, which I give free license to because it is important that it is available to all.
From that work, I saw that there was a need for a practical toolkit to implement RIST, a library that can be used to add the RIST protocol to an application, easily and in complete conformance. The library became known as libRIST, and the goal was that anybody could use or implement it.
I started the ball rolling, with my colleagues at SipRadius, under the umbrella of VideoLAN, the open-source body also responsible for the VLC player. In true open-source fashion, the code is available for anyone to contribute to refine it still further.
But here’s the important thing. I published the original, and assigned the copyright to VideoLAN. And I made the stipulation that anyone could add to it, but they too had to give up any copyright claims so that it remains completely open.
This is what is known as a two-clause BSD license. BSD – it originally stood for Berkeley Software Distribution – is the most common way of copyright protection for open-source materials. The two-clause version is the simplest and most permissive: anyone can use the library, providing they include the copyright statement. They do not need even need to refer to libRIST if they incorporate it into their own products.
The result is that libRIST is, indeed, very widely used across the industry, including in products developed by some of the largest vendors.
What’s in this for SipRadius? Like any other specialist in media distribution, a universally recognized protocol simplifies development of our own products. And, of course, we are proud to have played a major role in such a vital enabler of simple media streaming.
Want to find out more about libRIST? Or just chat to the people behind it? Drop in for a beer and a chat at IBC2023, on stand 5.F47.
libRIST: New updates for v0.2.8 Release – Multi-Connectivity Senders, EAP Authentication, and libRIST IBC2023 Meetup!
By Dustin Cowan, Sr. Director Business Development, SipRadius and RIST Forum Vice-Chairman
A Quick Review on libRIST!
libRIST is a publicly available version of RIST (Reliable Internet Streaming Transport) Protocol. The library was released in 2020 and is aggressively maintained with the inclusion of the latest security patches and functionalities of the RIST protocol. It is positioned as both a fast-start tool for developers and users to implement RIST Protocol, and as a production capable method to utilize RIST Protocol into their own applications for udp/rtp transmission over lossy networks. libRIST has been used in many high-profile applications, leading the push on standard adoption and creative implementations of the RIST protocol
libRIST Meetup at IBC2023!
SipRadius LLC is happy to announce the first in-person meetup for the libRIST community of developers, adopters, and those who are just curious about the FOSS technology!
The meet-up will be happening 4:00 – 5:00PM Sunday on booth 5.F47.
Come and meet the lead developers of libRIST – Sergio Ammirata, Ph.D. and Gijs Peskens of SipRadius LLC. – ask questions, learn about the next stages of libRIST, unique implementations, or just have a chat!
We have recently released v0.2.8 of the library for the FOSS community to integrate and freely use. The latest addition highlights to the libRIST library are included within release v.0.2.8:
The library’s ability to act like a media server/cloud distribution node (one sender to multiple receivers) has been fixed and greatly enhanced. Now, you can safely go above 10 receivers (from a single sender) and still have adequate packet recovery for each of the connected receivers (up to 50% packet loss). Packet loss recovery has been tested and assured up to 100 connected receivers (CPU speed based).
Full support for EAP authentication and dynamic buffering handshakes:
You can now do a truly zero configuration link using libRIST. libRIST has now added dynamic buffering and the new EAP key exchange to its EAP authentication protocol. In short, while libRIST is in sender mode, a master username and password list are utilized to ensure connectors are pre-authenticated and allowed to receive and decrypt the services. In addition to the encryption key exchange, each receiver will auto-negotiate its own buffer size based on its individual changing network conditions. This adds another layer of security and complements the cloud distribution node model.
Implementation of the new ether types:
The RIST protocol ethertype has now been approved and registered. The registered ethertype has now been integrated into the libRIST library, and deprecated the experimental version previously used.
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 delivery broadcast-grade video using RIST, helping speed up adoption and ensure viewers continue to receive error-free and high-quality video that they expected, regardless of the transmission medium. libRIST features a high level of security, support for multiple source streams and multiple destinations, a dynamic approach to buffering, and optionally, a granular control suite for all the parameters that affect the RIST connection.