Subject: [Wish] WHIP interoperability Hackathon

From: Sergio Garcia Murillo <[email-masked]>
Date: Tue, 2 Nov 2021 13:53:54 +0100

Hi all,

Sorry for not starting this earlier.

For the interoperability hackathon I have collected the following list of
publicly available/announced whip implementations:

*Servers*

   - Janus - https://www.meetecho.com/blog/whip-janus/
   - Galene - https://github.com/jech/galene/tree/whip
   - Millicast  - https://millicast.com (contact me for getting an
   URL/token for publishing)
   - Red Pro
   https://medium.com/p/red5-pro-server-and-whip-webrtc-2ea99b902beb

*Clients*

   - gstreamer client (https://github.com/lminiero/simple-whip-client)
   - whip-js (https://github.com/medooze/whip-js)
   - |pipe| pi client (ttps://github.com/pipe/whipi
   <https://github.com/pipe/whipi>)
   - aiortc client (https://github.com/agonza1/free-whip)
   - go client (https://github.com/ggarber/whip-go)

The idea would be to be able to test the interoperability between clients
and servers and provide feedback both about the individual implementations
and about the spec itself.

If you are the author of any of these projects and want to participate,
please send your willingness/availability for doing any test. If you have
any other implementation, it would be great if you could share it with us.

Best regards
Sergio

---

From: Lorenzo Miniero <[email-masked]>
Date: Tue, 2 Nov 2021 14:17:34 +0100

On Tue, 2 Nov 2021 13:53:54 +0100

>    - Janus - https://www.meetecho.com/blog/whip-janus/

Just for clarification, info on the Janus integration is available in
this more recent blog post:

	https://www.meetecho.com/blog/whip-janus-part-ii/

The one Sergio linked actually documents the efforts from a year ago.

That said, I'm of course happy to do another round of interoperability
tests with new clients and servers! I documented my interop tests with
Galene, Sergio's and Gustavo's implementations in this presentation a
couple of weeks ago:

	https://www.youtube.com/watch?v=b_QBd3WnGgY

For those interested in testing against Janus/WHIP, I don't have any
publicly reachable WHIP server implementation for Janus up and running
at the moment, but I'll put one up later today.

Lorenzo

-- 
I'm getting older but, unlike whisky, I'm not getting any better
https://twitter.com/elminiero

---

From: T H Panton <[email-masked]>
Date: Tue, 2 Nov 2021 14:57:04 +0100

To those of you with a spare Raspberry Pi (with camera) to hand
I’ve put a minimal GPL Command-line client at https://github.com/pipe/whipi <https://github.com/pipe/whipi> 
It sends video direct from the h264 hardware encoder to the specified whip endpoint.
I’ll probably add alsa audio support later today. (Very much work in progress - but I’m pleased with the low latency and CPU load)

I’ve tested against Janus and Millicast, but would be delighted to try against other servers.

Tim.

P.S. This _isn’t_ based on the |pipe| webRTC stack, but it does use the same set of opensource libs:
Bouncy Castle, Phono etc.

T.

> On 2. Nov 2021, at 13:53, Sergio Garcia Murillo <[email-masked]> wrote:
> 
> Hi all,
> 
> For the interoperability hackathon I have collected the following list of publicly available/announced whip implementations:
> 
> Servers
> Janus - https://www.meetecho.com/blog/whip-janus/ <https://www.meetecho.com/blog/whip-janus/>
> Galene - https://github.com/jech/galene/tree/whip <https://github.com/jech/galene/tree/whip>
> Millicast  - https://millicast.com <https://millicast.com/> (contact me for getting an URL/token for publishing)
> Red Pro  https://medium.com/p/red5-pro-server-and-whip-webrtc-2ea99b902beb <https://medium.com/p/red5-pro-server-and-whip-webrtc-2ea99b902beb>
> Clients
> gstreamer client (https://github.com/lminiero/simple-whip-client <https://github.com/lminiero/simple-whip-client>)
> whip-js (https://github.com/medooze/whip-js <https://github.com/medooze/whip-js>)
> |pipe| pi client (ttps://github.com/pipe/whipi <https://github.com/pipe/whipi>)
> aiortc client (https://github.com/agonza1/free-whip <https://github.com/agonza1/free-whip>)
> go client (https://github.com/ggarber/whip-go <https://github.com/ggarber/whip-go>)
> The idea would be to be able to test the interoperability between clients and servers and provide feedback both about the individual implementations and about the spec itself.
> 
> If you are the author of any of these projects and want to participate, please send your willingness/availability for doing any test. If you have any other implementation, it would be great if you could share it with us.
> 
> Best regards
> Sergio
> -- 
> Wish mailing list
> [email-masked]
> https://www.ietf.org/mailman/listinfo/wish

---

From: Cameron Elliott <[email-masked]>
Date: Wed, 3 Nov 2021 00:00:51 -0700

Sergio, thank you for the invite on Twitter, it motivated me to get
involved.

I have written a WHIP JS client which combines WHIP and Perfect Negotiation
<https://blog.mozilla.org/webrtc/perfect-negotiation-in-webrtc/>.
https://github.com/x186k/whip-whap-js

I developed something I am calling WHAP for now, because I needed something
like WHIP for egress.
Example: https://github.com/x186k/whip-whap-js#whap-example
So, the JS library does both WHIP/WHAP.

I also have an SFU which takes WHIP on ingress, as a server.
https://github.com/x186k/deadsfu

I would be thrilled to interop test with anyone interested!

I am also interested in talking with anyone about WHAP and whether it might
be useful for others somehow.
I am just introducing it here, I understand this is probably not the right
mailing list to discuss in depth.

Thanks,
Cameron

---

From: Sean DuBois <[email-masked]>
Date: Wed, 3 Nov 2021 10:14:22 -0400

I am very interested in WHAP!

I have quite a few users that want to pull video from a SFU (saving to disk or doing processing/computer vision)

I am also very interested in doing SFU interoperation. I would love to see WHIP+WHAP allow us to bridge conferences.
Also could be useful for scaling. 

> On Nov 3, 2021, at 3:00 AM, Cameron Elliott <[email-masked]> wrote:
> 
> Sergio, thank you for the invite on Twitter, it motivated me to get involved.
> 
> I have written a WHIP JS client which combines WHIP and Perfect Negotiation <https://blog.mozilla.org/webrtc/perfect-negotiation-in-webrtc/>.
> https://github.com/x186k/whip-whap-js <https://github.com/x186k/whip-whap-js>
> 
> I developed something I am calling WHAP for now, because I needed something like WHIP for egress.
> Example: https://github.com/x186k/whip-whap-js#whap-example <https://github.com/x186k/whip-whap-js#whap-example>
> https://github.com/x186k/deadsfu <https://github.com/x186k/deadsfu>
> 
> I am also interested in talking with anyone about WHAP and whether it might be useful for others somehow.
> I am just introducing it here, I understand this is probably not the right mailing list to discuss in depth.
> 
> Thanks,
> Cameron
> 
> 
> 
> 
> 
> On Tue, Nov 2, 2021 at 5:54 AM Sergio Garcia Murillo <[email-masked] <mailto:[email-masked]>> wrote:
> Hi all,
> 
> [email-masked] <mailto:[email-masked]>
> https://www.ietf.org/mailman/listinfo/wish <https://www.ietf.org/mailman/listinfo/wish>
> -- 
> Wish mailing list
> [email-masked]