16

TL;DR: working on a WebRTC-based webinar platform, which should allow 1000 of people in a room, Jitsi Meet does the job but forces a connection (and a server thread) for each-oh-each, which is 1,000,000 threads on a server -> not going to work. Jitsi founders advised doing it without lib-jitsi-meet, invoking REST API directly, pointed at a doc

https://github.com/jitsi/jitsi-videobridge/blob/master/doc/rest-colibri.md

but it gives a lot more questions than answers.

Is there any complete, end-to-end, example of how to stream a webcam stream to Jitsi Videobridge, and then play it in another client, using JS in a browser (OK if it's only Chrome), with no use of lib-jitsi-meet? Some other form of connectivity between clients, like socket.io or anything else, is possible of course.

mpromonet
  • 11,326
  • 43
  • 62
  • 91
Mikhail Novikov
  • 623
  • 2
  • 9
  • 23
  • 1
    any word on this Mikhail? Were you able to find any examples? Perhaps you could answer your own question by now? I've got the same question :) – Joel Brewer Jan 09 '17 at 18:13
  • No there isn't. I already helped a few clients transition away from Jitsi :) – Mikhail Novikov Jan 09 '17 at 18:21
  • Is there any update? I have the same problem. – Subkhan Sarif Apr 17 '17 at 04:34
  • There are none. Jitsi is abandonware, forget it. Use Wowza Media Server, it has excellent, perfectly working and documented WebRTC implementation, and support is willing to help instantly, and it's fairly cheap. – Mikhail Novikov May 05 '17 at 05:10
  • Would you come to the same conclusion today, given how broadly jitsi _seems_ to have been adopted? At the same time it's very difficult to find documentation on running your own jitsi videobridge without the need for their custom UI. – Redmega Mar 10 '21 at 20:51

1 Answers1

0

It is possible. JVB has REST API and it only gives ports for audio/video. We should have our own signaling server that creates offer with given port in it. Then that offer has to be passed to client via websocket and creates RTCPeerConnection. I have signaling in place but I am struck with video quality issue.

  • You need to connect to the websocket URL (provided by the bridge in the same response as the offer) and set your receiver constraints, otherwise you will only receive the lowest simulcast layer. This websocket is used as a secondary signalling channel for rapid changes (e.g. signalling max res for receiving other endpoints based on the user resizing the browser window or changing their selected layout from stage to tile). – jbg Aug 24 '22 at 03:32