Red5 Pro Server and WHIP WebRTC

Disclaimer at the start, I am the Director of Media Server Development at Red5 Pro. I am and have been a Red5 open source developer for about 16 years. Without further adieu, here we go…

I was monitoring the video-dev slack channels a couple weeks ago and noticed a post from Sergio Garcia Murillo about a technology called WHIP created with the late Dr. Alex; it looked promising as a means to create a WebRTC ingest without the regular amount of back and forth. So I spent a weekend evening creating a PoC to use it with Red5 Pro Server and even with my rusty JavaScript skills I managed to make it work. I’m going to share the JavaScript source since it’s not exposing any critical IP and I’m interested in feedback for how I might have done something wrong in the eyes of the js gurus. Once I get approval from the “powers that be”, I’ll make the repo public, but I’ll warn you now, you’ll need a not-as-yet-available beta of Red5 Pro Server to run the server-side code; hopefully the server will be available by the time you read this, but we’ll see.

Red5 Pro WHIP demo HTML
Red5 Pro WHIP demo JavaScript

One thing that I did differently was to in-line the candidates in the SDP offer/answer. This has the effect of preventing extra back and forth, limiting POST requests and also allowing the server to get ICE established quicker.

For access to Red5 Pro Server, contact info@red5pro.com

Reference links:

WHIP RFC Draft

Whip/WebRTC meets Broadcasting