Intel has come a long way since 2013/2014 with their collaboration Suite for WebRTC. Today they propose one of the most complete free solution, practically a PaaS-in-a-box:
- web (+IE plugin), mobile and windows clients,
- a complete infrastructure
- Media server
- both MCU and SFU modes,
- multi-party and broadcast
- SIP Gateway.
- Media server
This post will provide some insight on what they propose, the evolution of their offer, and what’s coming next.
A little bit of history
Back in 2014, when (with peter dunkley) we had to replace Chris Mathieu as chair of the webrtc summit in NYC, as his IoT company OctoBlue was being bought by citrix, I had the surprise to see a chinese individual walk up to me and say: I’m from shanghai, working for INTEL on “the” webrtc project. I did not know Intel had one then. A few clicks later, I could find a simple website proposing almost only a web app, a signaling app, and an MCU. MCU were rare then, so I rigged deeper in the signaling content, and quickly found references to erizo, which was the name used in the design of Licode, one of the most active webRTC MCU project then. I left it at that, it did not seem very advanced then.
Fast forward, end of 2015, the “WebRTC expo and conference” was starting a mutation into the “Real Time Web Solutions”, and happening for the first time in Beijing, China. The day after the event, INTEL was organizing, in the same venue, a one-day webrtc event. All in Chinese language, obviously targeted at the local market (even the registration form was only accepting chinese phone numbers 🙂 ), it was the first opportunity to have presentations about the new Intel webrtc Collaboration Suite, that was now pretty complete, including all kinds of clients (even an IE plugin), an hybrid MCU/SFU, a SIP gateway server, and much more. I took my friend Silvia From Australia (the only other webrtc working group member based in asia => attending W3C meeting in the middle of the night) who was spinning out her start up then, and had needs on the back-end side, and went there. Doug Sommer, the manager of the entire team, as well as the dev team lead by Qi Zhang were kind enough to give us a private meeting were we could go deeper into the tech side.
Intel had gone a long way from the licode days. There were now proposing, for free, one of the most complete solution on the client side (JS + IE plugin, android, iOS, windows) along one of the most complete infrastructure among non commercial offers. Technically, there were three major interests:
- They would propose basically a solution-in-a-box instead of a collection of stand-alone servers or client SDKs that would still require some glue, some integration and/or some load balancing. Here all is done, all works together well, brilliant.
- Media servers are always a tough pick, as there are some competing use case to accommodate: “pure webrtc” (SFU) vs “SIP interop” (MCU), conference (several to several) vs broadcast (few to many), … Their Hybrid MCU/SFU seemed to be quite elegant at handling at least those 4 use cases. Bridging them had been a source of a lot of ad-hoc work in many projects before.
- All the code is leveraging intel’s optimized media/graphic libraries, toolkits and compilers. Optimized …. from intel hardware, with fall back to “normal” performance on different hardware. The media server and the SDKs would leverage HW acceleration for the codecs very well, for example.
Then globally, they were the only group giving their elution away for free, but not open Source. That was an interesting concept, and eventually quite simple: they were here to help sell more Intel Hardware, and al the optimization required including intel code they might not want to share! Note: open source is possible on a case by case basis, and some back-end code written on JS on top of Node.js is provided open source anyway.
Fast forward august 2016, Intel presents at real-time web solutions in NYC – web Real Time solutions. They now have a US contact (elmer [dot] a [dot] amaya [at] intel [dot] com) and am even more polished solution. Speaking about the future, they are thinking about opening the clients code, including the woogeen IE plugin (which will otherwise be discontinued with version 3.2).
why choosing intel suite instead of going a-la-carte?
One could, theoretically arrive to the same solution (same feature list), or more, cheery-picking pieces of code from different open source projects. Unfortunately each additional feature on the clients, or server in the back-end (with the exception of ICE) requires modifications of the signaling server and language. If you start with, say, peer.js like NTT did for their Skyway platform, you will not out of the box support SIP gateways, media servers, etc …… It can be months of integration work to tackle all the corner cases. Eventually, you can drift so far away from the original code, that you end up maintaining everything yourself, without leveraging the original project’s community.
The main advantage of the Intel offer, IMHO, is that all the client SDKs and the signaling already support all the options. There are also a few things that are very interesting: this is one of the most complete free back-end out there with the integrated SIP gateway and hybrid media server. The later can behave as an MCU or an SFU, and can also switch from a many-to-many configuration, needed for multi-party, and one-to-many, needed for broadcast. Here again, some SFU/MCU offer those options (I’m thinking about Janus for SIP connectivity e.g.), but not integrated with clients SDKs, and full signaling server. Here INTEL is providing you with a real PaaS-in-a-box.
Not all is perfect, there are a few improvements points as well:
- no recording yet,
- you cannot do audio-only,
- multi-party seems to be limited to 16 participants,
- H264 support depends on Hardware (no software support)
- no simulcast, no SVC,
But those are definitely no show-stopper for most use cases, and are being worked on.
This work by Dr. Alexandre Gouaillard is licensed under a Creative Commons Attribution 4.0 International License.
This blog is not about any commercial product or company, even if some might be mentioned or be the object of a post in the context of their usage of the technology. Most of the opinions expressed here are those of the author, and not of any corporate or organizational affiliation.