As an audio mixer and MCU, the AudioBridge plugin is quite a popular plugin among Janus users and developers. It’s definitely a foundational component in our own Virtual Event Platform, for instance, where while we use an SFU approach for video streams, audio is always mixed instead. I mentioned efforts around this plugin a few times already, like when I discussed how to use it to build social audio applications like Clubhouse or Twitter Spaces, or how it could be bridged (pun unintended!) to the SIP world. I also stressed out the importance of audio in the WebRTC world when…
-
-
I only recently found out that Chrome has started shipping experimental support for VP9 and AV1 simulcast. If you’ve visited this blog before, you know what simulcast is already (if you don’t, make sure you read this post first!) and you may recall we’ve talked, on separate occasions, about both codecs, but typically with respect to their SVC capabilities, namely in the post on VP9/SVC support in Janus, and the one on our AV1/SVC experiments. Of course, I was very much interested in checking out how I could extend the simulcast support we have in Janus to VP9 and AV1…
-
It’s been a while since last time we spoke of WHEP: just to brush up your memory, it was a few months ago, when we first introduced WHEP as a companion protocol to WHIP, that we had talked about a few other times already. At the time, we explained how WHIP and WHEP both play a quite important role in the future of WebRTC-based broadcasting. WHIP (WebRTC-HTTP ingestion protocol) is a protocol that was conceived to facilitate the process of media ingestion via WebRTC, something that in “traditional” broadcasting is usually done by means of protocols like RTMP. WHEP (WebRTC-HTTP…
-
I’m always interested in testing new codecs, especially when it comes to WebRTC. Some time ago, for instance, I talked about my experiments with AV1 and H.265, AV1-SVC or multiopus. As such, when a new codec called Lyra was announced that promised to give great audio in very low bitrates, I was definitely curious. In this blog post I’ll describe the steps I went through to get it to work in browsers and, most importantly, Janus. What’s Lyra? If you’re a fan of music as I am, the world “lyra” actually doesn’t bring a codec to mind at all, but…
-
Audio conversations that span to hundreds, if not thousands, of people have been quite the rage in the past few years. Podcasts are a good example of this success: there have never been so many as these days, and there’s a certain appeal to just listening to a conversation without the actual need for any visual aid or medium. It becomes even more interesting when you envision the possibility of more interactive conversations, where anyone from the audience can chime in at any time and share their thoughts. This has been at the basis of the success of platforms like…
-
If you’re confused about all these acronyms, you’re not alone! Those interested in WebRTC and broadcasting have probably heard about WHIP already: WHEP and WHAP maybe not as much And if you’re even more confused about why I chose a picture of Huey, Dewey and Louie as the featured image, that’s because in Italian they’re called “Qui, Quo e Qua”, which is the first thing that came to mind when I came up with the title. I know, it’s incredibly stupid, but please bear with me: I’ve just come back from my summer break! We’ve talked about WHIP, a new…
-
SFU cascading has been a hot topic for quite some time. There’s different reasons why you may want to cascade an SFU implementation: you may want to scale a room so that multiple servers cooperate with each other to distrubute the same streams, for instance, or more simply you may want to ensure that subscribers always get the media from the server that is closest to them, rather than force them to join the instance where the streams are actually originated. Whatever the reason, it’s indeed a useful tool to have in your belt, and so we started working on…
-
After three years of work (the original pull request was first opened in December 2018) we finally merged the multistream branch in Janus! Considering this was a huge refactoring, we chose a special day for the occasion, that is the 8th birthday of Janus itself, whose first commit appeared in GitHub on the 11th of February of 2014 (time flies when you’re having fun!). That’s all good, but some of you may be wondering: what the heck is this “multistream” thing you’ve been blabbering about anyway?! I made a long presentation about all that a couple of years ago at…
-
Sometime around last year, I first introduced WHIP and how it could be used with Janus in a blog post right here. At the time, we had quite some fun experimenting with this new signalling approach our friends at CoSMo (and our good old friend Dr. Alex in particular, may he rest in peace ❤️) had come up with, using a custom fork of OBS Studio called OBS-WebRTC. In the meanwhile, WHIP has been adopted by the IETF in a new Working Group called WISH (WebRTC Ingest Signalling over HTTPS), which led us and other developers to start working on…
-
About a year or so ago, we talked about how we added support for new codecs to Janus, namely AV1 and H.265, and why that was an interesting foundation for more exciting things to come. AV1 in particular was a very interesting addition, since it’s a joint effort of several companies to write a powerful royalty free video codec, explicitly conceived to support Scalable Video Coding (SVC) out of the box, which is obviously a very appealing feature, especially in the context of WebRTC (e.g., for conferencing and broadcasting purposes). At the time, while Chrome had started, thanks to the…