We are proud to ensure the full support of every device, OS, platform, and programming language for StriveCast’s P2P Video Delivery technology. Together with our technology partner Pion WebRTC, we managed to combine Pion’s native WebRTC stack with StriveCast’s unique P2P video delivery software to a single software library, based 100% on the programming language Golang. Thanks to Golang’s incredible platform compatibility, every combination of device and operating system is now WebRTC ready!
And it comes even better – on this basis all StriveCast products are now supported on all devices and apps regardless of the browser or operating system used.
First off: Optimize Your OTT Video Delivery On All Devices And Apps
Integrate StriveCast’s P2P Video Delivery SDK into your Web Application, iOS App, Android App, Set-Top Box, or Smart TV. One SDK for every platform, OS, and language.
Full support thanks to our new technology partner
In order to make StriveCast’s products accessible for all devices and platforms, one of our main goals right from the start was to have one codebase that could be re-used for all different scenarios and use cases. This was a very difficult challenge, as WebRTC – the main driver behind StriveCast’s video delivery solutions – was only supported by web browsers. To achieve our goal, we would have to re-implement the entire WebRTC protocol in a programming language that would allow us to create native libraries for every OS, CPU architecture, and programming language. We knew that one day we would have to do this but focused on all other tasks besides the portation of WebRTC.
How we avoided reimplementing the WebRTC protocol
As the WebRTC topic was our biggest challenge, we tried to set up everything else that would have to be done in order to provide a native StriveCast SDK library. So we came up with the idea to design our P2P video delivery client as a local proxy-server that a web player can connect to when requesting video data. A developer would just have to “modify” a manifest URL for a given video stream and pass it into our SDK. The SDK would then return a new URL that points to the locally running proxy server. Whenever video data is requested from this server, it first applies the StriveCast logic to it in order to fetch data from StriveCast’s P2P network. The remaining call would just be passed to the original content URL.
Bringing WebRTC to the native language
As we finally had everything set up and finished the development of all parts except for the WebRTC stuff, we thought, “well, ok, this is going to be the hardest part”. But as we quickly found out, we were not the only ones with the idea of bringing WebRTC to native languages. It turned out there was an ongoing project called Pion with the exact same goal! Just when we thought things could not get better, we saw that Pion was written in Golang, the language on which StriveCast’s entire codebase is built upon!
We contacted Pion to ask for a PoC, and they happily accepted. Just a couple of weeks later, we were done. StriveCast was fully powered by Pion’s WebRTC library and was ready for the launch!
Last but not least: Enterprise video delivery works on all devices and apps as well
When using P2P within an enterprise context, usually related problems arise. With our StriveCast SDK solving the WebRTC problem, we had a good basis for solving the compatibility issues for enterprises as well. As the challenges in this area are slightly different, we had some more issues to look upon, especially for safari and iOS. These technologies don’t allow for typical SDKs to be implemented on their proxy from a public cloud. So, we had to find a workaround and we did.
Are you interested in how exactly we made P2P available on iOS and safari? Then you should not miss our blog post about the technical background of our all-device-compatible P2P solution. Click here to learn more.