After several months of hard work, we’re finally proud to introduce you our latest creation: Janus, a general purpose, open source, WebRTC Gateway!
Just as the well known Ancient Rome god had two faces, one looking at the past and one at the future, our own Janus always has two faces as well: one is WebRTC (the future, and a bright one), you choose which one the other should be! Whether you want to do media streaming, conferencing, recording, gatewaying to legacy stuff or whatever, Janus is conceived to allow you to do so.
In fact, the Janus gateway was explicitly conceived to be a general purpose one. As such, it doesn’t provide any functionality per se other than implementing the means to set up a WebRTC media communication with a browser, exchanging JSON messages with it, and relaying RTP/RTCP and messages between browsers and the server-side application logic they’re attached to. Any specific feature/application is provided by server side plugins, that browsers can then contact via the gateway to take advantage of the functionality they provide. Example of such plugins can be implementations of applications like echo tests, conference bridges, media recorders, SIP gateways and the like. We’ve built a few just to showcase what you can do with the it, but there are many more just waiting to be written.
The reason for such a modular architecture is simple: we wanted something that would have a small footprint (hence a C implementation) and that we could only equip with what was really needed (hence pluggable modules). That is, something that would allow us to deploy anything ranging from a full-fledged WebRTC gateway on the cloud to the small nettop/box you build to handle a specific use case.
Of course we’re just at the beginning. This is the first version and, as such, not everything works perfectly and there’s definitely a lot of room for improvement. Nevertheless, we’re really excited about what Janus can mean for us and for everybody who loves WebRTC as much as we do. So if you’re interested in giving it a try, check out the demos and documentation we made available here:
As anticipated, everything related to Janus is open source, so feel free to get the code on Github and play with it as much as you like! Found a problem? Tell us! Wanna help make it more awesome? Then do! Any feedback, debug, optimization or contribution is more than welcome… do you have ideas on more plugins? or, even better, want to write one yourself? the documentation should have all the info you need, but if you need more, don’t hesitate and ask us.
We wanted to be brief and yet look at how much we’ve written… and you? what do you think about this?