|
1 | 1 | # Jitsi |
2 | 2 |
|
3 | 3 | We use a self-hosted [Jitsi Meet](https://jitsi.org) instance for video conferencing. |
4 | | -Thanks go to Cleura for providing the server for it. |
| 4 | +Thanks go to Cleura for providing the server VM for it. |
| 5 | + |
| 6 | +Jitsi has served us well, providing good quality and reliable VC service while allowing |
| 7 | +multiple screen shares and conferences with (at least) up to 50 video participants. |
5 | 8 |
|
6 | 9 | The server uses an automated deployment based on the |
7 | 10 | [heat-docker-jitsi-meet](https://github.com/garloff/heat-docker-jitsi-meet) project. |
8 | 11 |
|
9 | 12 | Configuration is such everyone who knows the room can connect, unless the moderator |
10 | | -sets a password/PIN. Opening a new room requires authentication. (Contact Kurt if |
11 | | -you need a password.) |
| 13 | +sets a password/PIN. Opening a new room requires authentication. (Contact |
| 14 | +[Kurt](https://github.com/garloff) if you need a password.) |
12 | 15 |
|
13 | 16 | Links to the meeting room (as well as dial-in information) are in the appointments |
14 | 17 | in the public calendar. |
15 | 18 |
|
16 | 19 | ## Usage |
17 | 20 |
|
18 | | -Connect with a desktop browser (Chrome/Chromium or other blink based browser |
19 | | -recommended due to superior WebRTC implementation with SimulCast/SVC for VP8/VP9 -- |
20 | | -Safari & Firefox work, but cause higher data traffic). For mobile devices use |
21 | | -the Jitsi Meet App. |
| 21 | +Connect with a desktop browser, the Jitsi [desktop app](https://github.com/jitsi/jitsi-meet-electron) or the Jitsi [mobile app](https://jitsi.org/downloads/). |
22 | 22 |
|
23 | 23 | Use the little arrows in the control bar at the bottom to select speaker, microphone |
24 | | -and camera in case you lack audio/video. Occasionally, you can not hear all but |
25 | | -one participant; in this case reconnecting typically helps. |
| 24 | +and camera in case you lack audio/video. |
| 25 | + |
| 26 | +## Features |
| 27 | + |
| 28 | +### Whiteboard and Etherpad |
| 29 | + |
| 30 | +The Jitsi instance has an etherpad and a whiteboard enabled. |
| 31 | +These tools can be used for collaborative creation and collection of content. |
| 32 | +Don't forget to save the contents to a persistent place after the meeting. |
| 33 | + |
| 34 | +### Codecs |
| 35 | + |
| 36 | +It is configured to prefer video codecs [AV1](https://en.wikipedia.org/wiki/AV1) |
| 37 | +over [VP9](https://en.wikipedia.org/wiki/VP9) |
| 38 | +over [VP8](https://en.wikipedia.org/wiki/VP8) |
| 39 | +over [H.264](https://en.wikipedia.org/wiki/H.264/MPEG-4_AVC). |
| 40 | +It prefers the [opus](https://opus-codec.org/) audio codec. |
| 41 | + |
| 42 | +These settings are chosen to provide good video and audio quality for clients |
| 43 | +with modern hardware at moderate bandwidth requirements. |
| 44 | +Clients can chose to use older codecs without impacting audio or video streams |
| 45 | +of others. |
| 46 | + |
| 47 | +## Dial-In |
| 48 | + |
| 49 | +Dial-In may be more stable for participants that have a stable phone connection, but |
| 50 | +not a reliable internet connection. |
| 51 | + |
| 52 | +We thus have an audio bridge using jigasi and [asterisk](https://www.asterisk.org/) |
| 53 | +connected to a [SIP](https://en.wikipedia.org/wiki/Session_Initiation_Protocol) provider. |
| 54 | +This allows a distinct set of rooms to be provided with phone dial-in. |
| 55 | + |
| 56 | +Here's the setup: |
| 57 | + |
| 58 | +| Room Name | Dial-in Suffix | |
| 59 | +| --------------- | -------------- | |
| 60 | +| SCS-Tech | 611 | |
| 61 | +| SCS-Governance | 612 | |
| 62 | +| Open-Operations | 613 | |
| 63 | +| SCS-OSISM | 614 | |
| 64 | +| SCS-Project | 615 | |
| 65 | +| SCS-Forum | 616 | |
| 66 | +| SCS-Kurt | 617 | |
| 67 | +| SCS-Taskforce | 618 | |
| 68 | +| SCS-ProjectTeam | 619 | |
| 69 | + |
| 70 | +Dial +49-221-292772-Suffix to connect. |
| 71 | + |
| 72 | +Rooms protected with a PIN would use 60x instead of 61x as suffix. |
| 73 | +Rooms with a three or four-digit number as room name would be connected to -61XXX or -61XXXX. |
| 74 | +Note that dial-in is not super-reliable due to occasional trouble with the SIP provider. |
| 75 | +So double-check ahead of important conference calls that require phone dial-in. Talk to Kurt |
| 76 | +to change room assignment or to resolve issues with dial-in. |
| 77 | + |
| 78 | +## Browser specific hints |
| 79 | + |
| 80 | +Traditionally, the [blink](https://en.wikipedia.org/wiki/Blink_%28browser_engine%29)-based |
| 81 | +browsers (like Google Chrome, Chromium, Edge, ...) support WebRTC best. |
| 82 | +A Jitsi [desktop app](https://github.com/jitsi/jitsi-meet-electron) and Jitsi [mobile app](https://jitsi.org/downloads/) is also available. |
| 83 | + |
| 84 | +Safari and Firefox do work, but at the cost of inferior codecs or increased CPU or |
| 85 | +bandwidth requirements (e.g. due to missing [SimulCast](https://en.wikipedia.org/wiki/Simulcast) |
| 86 | +support or missing hardware acceleration). |
| 87 | + |
| 88 | +### Firefox and VP9 / AV1 |
| 89 | + |
| 90 | +On [Firefox](https://www.mozilla.org), in `about:config`, |
| 91 | +you can enable `media.peerconnection.video.vp9_preferred` and |
| 92 | +`media.webrtc.simulcast.vp9.enabled` for using VP9 video codec (which is better than VP8). |
| 93 | + |
| 94 | +By enabling experimental `media.webrtc.codec.video.av1.experimental_preferred` you even get AV1 |
| 95 | +(which is even better) in Firefox 139+. Depending on whether your hardware has hardware support for VP9 |
| 96 | +or AV1 encoding support and on whether that is exposed by your graphics driver stack, this may or may |
| 97 | +not create high CPU usage which you may not consider welcome as mobile user. |
| 98 | + |
| 99 | +## Limitations and issues |
| 100 | + |
| 101 | +### Firewalls blocking UDP traffic |
| 102 | + |
| 103 | +While the web interface uses https (port 8443) which most firewalls find acceptable, the audio and |
| 104 | +video is transmitted via UDP (port 10000+). Some corporate and many public sector firewalls believe |
| 105 | +that outgoing(!) UDP traffic is dangerous and needs to be intercepted. This means that our Jitsi |
| 106 | +setup will not work for participants behind such firewalls. |
| 107 | +(We do not currently have a [COTURN](https://github.com/coturn/coturn) server to work around this; |
| 108 | +instead we use other VC tools such as BB or OpenTalk or the tool of the partner.) |
| 109 | + |
| 110 | +### Local audio |
| 111 | + |
| 112 | +A lack of audio is often in the local audio setup (mixer volumes turned to zero etc.). |
| 113 | +On Linux systems, the `pavucontrol` mixer may be the best starting point to resolve issues. |
| 114 | + |
| 115 | +### Selective Stream forwarding failure |
| 116 | + |
| 117 | +Jitsi receives one or several audio and video streams from every participant and selectively |
| 118 | +forwards those to all recipients that have subscribed to these streams. (Typically, a low-res video |
| 119 | +stream is sent in addition to a medium-res and a high-res one — if any high-res subscribers exist). |
| 120 | +This approach to video-conferencing is called |
| 121 | +[selective forwarding unit (SFU)](https://bloggeek.me/webrtcglossary/sfu/). |
| 122 | +Occasionally, one of the participants can not hear one other (out of many) participants but everyone |
| 123 | +else can hear each other - a subscription to an audio (or video) stream may have gotten lost. |
| 124 | +In this case, a reconnect by the one not hearing is the best remedy. |
| 125 | + |
| 126 | +### Large conferences |
| 127 | + |
| 128 | +For large conferences, it is recommended that participants stay muted and raise their hand |
| 129 | +in order to talk, so a moderator can ensure a somewhat structured discussion. While Jitsi can route |
| 130 | +a few dozens of video streams without trouble, the combined bandwidth may become a challenge for |
| 131 | +some of the participants and it is recommended to only switch on videos for the active participants. |
| 132 | +We have not tested much above 50 participants in the SCS community, so we don't know the precise limits |
| 133 | +of the server connection or capacity we use. |
| 134 | + |
| 135 | +### Screen sharing frame rate |
26 | 136 |
|
27 | | -We have an asterisk connected to some conference rooms to provide dial-in capabilities |
28 | | -for folks that lack internet connectivity (but have a working phone connection). |
| 137 | +Some browsers seem to ignore the FPS setting and try to transmit a shared window (or a shared |
| 138 | +desktop) at high resolution (e.g. 2560x1600) with 30fps. This requires more bandwidth than ADSL |
| 139 | +links typically handle. This can result in low-resolution streams rather than the (wanted) low-fps |
| 140 | +high-resolution stream. |
0 commit comments