WebRTC App

This app supports one-to-one, one-to-many and many-to-many videoconferencing and screen sharing using the OVE framework. It is based on OpenVidu, a platform designed to facilitate the addition of WebRTC videoconferencing into existing web an mobile applications. An installation of OpenVidu is required to use the WebRTC app. More information on installing OpenVidu can be found in the OVE installation guide.

The WebRTC app depends on an environment variable named OPENVIDU_HOST, that points to the URL at which the OpenVidu instance runs. The OpenVidu Secret must be provided by setting the OPENVIDU_SECRET environment variable on the production server or alternatively on the config.json file which must reside only on the production server.

Application State

The state of this app has a format similar to:

    "sessionId": "random",
    "maxSessions": 8

The sessionId property can be a new or existing OpenVidu session identifier. If this is set to random, the controller will generate a random sessionId. The maxSessions property is optional. It defines the maximum number of external users that can connect to this session. It is also possible to provide a url property which contains the sessionId in it. In such situations, the controller with extract the last path segment and use it as the sectionId.

Loading the App

The WebRTC app can be loaded using the OVE APIs:


curl --header "Content-Type: application/json" --request POST --data '{"app": {"url": "http://OVE_APP_WEBRTC_HOST:PORT","states": {"load": {"sessionId": "random"}}}, "space": "OVE_SPACE", "h": 500, "w": 500, "y": 0, "x": 0}' http://OVE_CORE_HOST:PORT/section


curl --header "Content-Type: application/json" --request POST --data "{\"app\": {\"url\": \"http://OVE_APP_WEBRTC_HOST:PORT\", \"states\": {\"load\": {\"sessionId\": \"random\"}}}, \"space\": \"OVE_SPACE\", \"h\": 500, \"w\": 500, \"y\": 0, \"x\": 0}" http://OVE_CORE_HOST:PORT/section

Controlling the App

The controller of the app can be loaded by accessing the URL http://OVE_APP_WEBRTC_HOST:PORT/control.html?oveSectionId=SECTION_ID. The controller must be used to initiate a videoconferencing session to which participants can join using an OpenVidu client by providing the Session Id. The OpenVidu client can be accessed by opening OPENVIDU_HOST on a web browser. The Session Id must be provided as the name of the call room.