WHIP & WHPP for WebRTC based broadcast streaming

Jonas Birmé, VP R&D Eyevinn, presented at Streaming Tech Sweden 2022 a proposal for a standard for WebRTC playback for broadcast streaming
A WebRTC based distribution with a standard interface in and a standard interface out.

WHPP

The playback client initiates the session by sending a POST request to the server endpoint. The server responds with an SDP offer. The intent of this protocol (and WHIP) is to make session setup as simple as possible with a single SDP exchange over HTTP. All media streams have to be announced in the SDP and only the server knows which media streams will be sent. Therefore the server is always the one sending the SDP offer, and the playback client the one sending the SDP answer.

Sequence diagram for the WHPP protocol

SFU

Our current implementation that uses an MCU developed in Node JS in the middle does not scale that well, so the next step in our proof-of-concept is to explore how we can build a more scalable infrastructure with WHIP for ingest and WHPP for playback. Instead of using an MCU we replace it with a Selective Forwarding Unit (SFU). In our proof-of-concept we are using Symphony Media Bridge as SFU which is available under the Apache 2.0 open source license.

Using SFUs for the WebRTC distribution network

Playback

On the playback side we developed a WebRTC based player library that is designed to be media server independent. Independent in the way that you can add adapters (plugins) for various types of WebRTC media servers for the SDP transportation. We have added an adapter that uses WHPP as protocol and our WHPP endpoint to establish a connection with the SFU network in this case. As part of this proof-of-concept we included this library in our HTML5 web player to add support for WebRTC based playback with WHPP.

Media server independent WebRTC player library incorporated in the Eyevinn Web Player project

Summary and next steps

All software developed in the scope of this proof-of-concept is available as open source and the next step is to take this WHIP/SFU/WHPP concept and run on a real distribution infrastructure. A WebRTC based CDN with a standard interface in and a standard interface out.

--

--

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Eyevinn Technology

Eyevinn Technology

925 Followers

We are consultants sharing the passion for the technology for a media consumer of the future.