What is Open Source Video Streaming?
Understanding Different Types of Video Streaming Protocol Licenses
When it comes to video streaming, there are many different protocols to choose from. Some are open standards, others are royalty free, and finally there are open source options. We’ve covered the benefits and use cases of each protocol in a previous blog post. In this post, we’re explaining the different types of licenses.
An open standard is a specification that can be used by anyone without a license as they are designed to support interoperability between different streaming and network components. The original data transfer protocols that underpin the internet, TCP and UDP, are both open standards as defined by the IETF. There are no software licenses required, nor have there been any changes to these standards since their initial publication back in 1980 – before the internet was available to the general public.
TCP is primarily used for sharing files while UDP can be used for data streaming. Neither protocol is ideal for video streaming, although the fact that they are open standards has enabled newer streaming protocols to be built on top of them.
Proprietary streaming protocols such as Zixi are owned by a single company. The advantage of proprietary protocols is that the owner is free to introduce new features at any time as they have complete control over its software code. Occasionally they may license the protocol for use by third parties, although this can also be used as a barrier to entry for innovative start-ups or ad-hoc projects by users themselves.
Although there is usually a license fee involved, users can benefit from new features and report bugs, although the protocol’s owner is usually under no obligation to fix them. Also, if the company owning the protocol decides to stop supporting it, then the users are stuck with an outdated protocol and will need to find a replacement.
Occasionally an owner of a proprietary protocol will make it available free of charge to anyone. Although the software and libraries associated with the protocol remain the property of their owner, other vendors are free to include the royalty free protocol in their products although they may not alter or change the underlying software code. Examples of royalty free video protocols include Adobe’s RTMP for video streaming and Newtek’s NDI for production video over IP.
These types of specifications for protocols are usually crafted by a working group of industry professionals with the goal of enabling interoperability between vendors and perhaps eventually turning into an open standard. A good example of this is RIST which is currently being worked on by the Video Services Forum. RIST is neither a standard nor a software code. Instead it’s a package of specifications that some vendors have implemented within their own products and in some cases have made available as open-source software for their particular implementation. The main difference between an 0pen specification and an open source protocol is that the former can have a multitude of different software implementations, while 0pen source is focused on a single shared library that can be improved upon by anyone.
From the user perspective, open source offers many advantages over proprietary software licensing. For starters, users can benefit from being connected to a global community of other users, programmers, and technology enthusiasts via software development platforms such as GitHub. Unlike with proprietary standards where a bug fix or new feature request depends on the vendor’s response, open source software and protocols can rely on the community to provide and share ongoing improvements to the source code and library under open source terms such as the GNU or Mozilla public licenses.
For streaming protocols such as SRT, with a fast-growing community of both users and vendors, this means there are often more resources available for further research and development than with proprietary protocols. In some cases, this can even mean taking the protocol into new directions that the original designers did not foresee. With SRT for example, it was originally designed as a live video streaming protocol, there are now a number of projects underway to use the protocol for other tasks such as fast file transfer, high definition audio streaming, and multiplexed streaming.
Broadcasters and video streamers continue to rely on proprietary software and dedicated hardware for key video processing components such as video encoding, processing, and production as they can pick and choose the very best vendor solution for their specific needs. However, when sharing and distributing streams across different workflow components, choosing a protocol with wide industry adoption can facilitate interoperability between video processing components.
Haivision and SRT Open Source
SRT stands for Secure Reliable Transport and is a video streaming protocol originally developed by Haivision. We decided to make it available as open source in 2017, understanding that we had created an important technology that was solving a critical problem for many organizations and users, but aware of the fact that a proprietary protocol would not gain widespread organic adoption. Fast forward three years, and we are incredibly proud of how successful SRT has become. We could not have anticipated the number of companies who would adopt it so quickly – there are now over 350 members of the SRT Alliance, which is a testament to just how significant a problem SRT helps solve. The ongoing strength of the SRT open source community, including contributors and users, helps ensure that the protocol’s capabilities continue to evolve and grow in accordance with the needs of the industry. We have all come together to make high-quality video contribution and distribution a reality for everyone, and for that, we are eternally grateful.