Back in 1999 we had 400 simultaneous users on Groupboard, using 10% of the CPU time of a 10Mhz SPARC CPU. Our Groupworld server today has a similar architecture, and uses very little CPU or memory. A low-end server will easily support over 1000 simultaneous users (although some of the open-source packages we use for document upload may reduce this number...see below).
We use a single OVH dedicated server to host our groupboard.com and groupworld.net websites and the hosted (cloud) Groupboard and Groupworld products. Many of our customers use Amazon AWS EC2 servers. Generally a t2.medium server will support up to about 100 simultaneous users, and a c5.large server will support up to 200 simultaneous users with a reasonable response time. The main limit is the open-source ghostscript and LibreOffice software that we use for document uploads, which can use a lot of cpu and memory when a user is uploading a document to the whiteboard.
We use WebRTC for high quality audio/video conferencing (the same technology that is used in Google Hangouts) when there are two users in the room. Audio/video data is transmitted directly between the two users peer-to-peer. We have a WebRTC TURN server, which provides a relay for users who are behind restrictive firewalls (you can optionally set up your own TURN server).
Groupworld can be configured to record the entire session (including audio, video, screen-sharing, chat and whiteboard). The Groupworld server simply records the data packets received to a file on the server, and these can then be played back via a special Groupworld playback page.
With the 25-user hosted version and the self-hosted enterprise version, there is the option of having the recordings automatically uploaded to Vimeo. With the self-hosted enterprise version you can additionally store the recordings in mp4 format on your server.
The Groupworld-recording-to-mp4-conversion is performed as a batch process on the server. After the session has finished, a firefox or chrome process is automatically started on a virtual display on the server, and the virtual screen is recorded using avconv.
If the session is being recorded then audio/video data is transmitted to the server separately from the WebRTC PeerConnection as jpeg (for video) and GSM.610 (for audio).
Integrating Groupworld into your web page is simply a matter of pasting the HTML code into your web page, and then changing the instance (room name) in the HTML code. The Groupworld server automatically creates the room on-the-fly the first time any user connects to it. Multiple rooms can be active at the same time, with different sets of users in each room (even for the hosted cloud version). For more details see the integration section of the API.
Groupworld is highly customizable — with the hosted version we provide a management console which lets you customize each of your Groupworld rooms. You can change which buttons are visible, which features are enabled, the size and framerate of the video windows, whether or not you want a chat window or math tools, etc.