Standardized WebRTC based broadcast streaming is being recognized by the industry
With the announcement from Cloudflare to support WHIP and WHEP we are seeing that standardized WebRTC based broadcast streaming is starting to be recognized by the industry.
Earlier this year we started to explore whether it was possible to use WebRTC for broadcast streaming with a standardized interface for ingest and for playback. We started to develop a prototype and identified that on the ingest side an IETF draft (WHIP) existed but there was a gap on the playback side. We then “invented” the protocol WHPP in order to fully test the concept end-to-end. We presented our proof-of-concept and our proposal to fill this gap on the playback side at Streaming Tech Sweden 2022 in June. This was well received by the industry and we saw later this summer in August an IETF draft for a protocol on the egress and playback side called WHEP. A confirmation that there was a real gap that we had identified and a willingness from the industry to fill that gap. The protocol in itself has a lot of similarities with WHPP where the main difference is at the time of writing WHEP mandates that a WHEP endpoint supports both client-side and server-side initiated handshakes. WHPP assumes that the server always is the one creating the SDP offer.
We are now extending the open source components we released from the proof-of-concept to also support the WHEP protocol and have been able to test it end-to-end with Cloudflare.
WHIP Web Client
A small update to our WHIP web client NPM package was needed to support WHIP endpoints that does not have trickle ICE support. It will not try with trickle ICE if the OPTIONS response from the WHIP endpoint does not include the HTTP method PATCH in the Access-Control-Allowed-Methods header or you manually force the client not to try.
Available from version 1.1.0 and you can try it out online here: https://web.whip.eyevinn.technology/
WebRTC Player Library
Our WebRTC player NPM package now supports WHEP in addition to WHPP. With this addition you can start playback of a stream from any WHEP compliant WebRTC provider.
Available from version 0.8.0 and you can try it out online here: https://webrtc.player.eyevinn.technology/?type=whep
WebRTC Egress Library
We are currently working on adding support for WHEP in our WebRTC egress library in addition to WHPP that it currently supports.
In combination with the WHIP endpoint library you have a full set of open source components you can pick and choose from to enable an end-to-end WebRTC solution for real-time broadcast streaming.
Join our community on Slack where you can post any questions regarding any of our open source projects. Eyevinn’s consulting business can also offer you:
- Further development of any of these components
- Customization and integration of any of these components into your platform
- Support and maintenance agreement
Contact firstname.lastname@example.org if you are interested.