Rate this page:

Conference recording

Voximplant allows users to record a video conference into a single video file. There are three modes of video conference recording: grid, tribune, and custom. This article will help you to set up each mode.

Conference recording

In a video conference record, each participant's section appears and disappears automatically when the participant enters or leaves the conference. If any participant shares their screen, it appears as an additional section and disappears when the screen sharing ends. The length of the video equals the length of the whole conference.

How to create a video conference recording

Copy URL

To set up a video conference recording, open your scenario and do the following.

  1. Add a recorder module to your scenario:
Add a recorder module

Add a recorder module

  1. Prepare recorder properties:
Prepare recorder properties

Prepare recorder properties

Please note the videoopt parameter. This is the object that contains video options. Here are the most important parameters for video conference recording:

  • mixing: specifies whether to create a single file of conference recording

  • profile: specifies the video quality. Refer to the table below

  • background: specifies the HTML color code for the recording background

  • vad: specifies whether to highlight the borders of a speaking participant's frame

  • labels: specifies whether to show the participants' names on their frames

  • layout: specifies the video mixing layout. Can be 'grid', 'tribune' or 'custom'

The available values for the profile option are (case sensitive):

HD

1280x720 @30fps

4096kbps

FHD

1920x1080 @30fps

8192kbps

QHD

2560x1440 @30fps

16384kbps

4K

3840x2160 @30fps

32768kbps

You can specify the optional expire parameter (accepts one of the RecordExpireTime enumeration values) if you need to keep the video available for a longer time (default is 3 months).

Warning

Increasing the expire parameter can cause extra charges. Find more information in your control panel's "Billing" section.

The layout option specifies how the video file layout is composed. It accepts one of the following values:

  • grid: all the participants' frames are the same size and are shown as a grid. This is the default value

  • tribune: one active participant's frame is bigger than the others and shown above the other participants. The rest participants' frames are shown as a grid. By default, the active participant is the one who is currently speaking. You can pin a specific participant to be always in the bigger frame

  • custom: you can specify a custom layout as you want. If you choose this value, you need to add a layoutSettings option to the videoopt object and pass an array of custom layout settings to the option.

  1. Create a recorder instance with the prepared parameters:
Create a recorder instance

Create a recorder instance

  1. Send the conference object to the recorder via the SendMediaTo method:
Start recording

Start recording

After that, the conference starts recording. The recording is saved in the Voximplant cloud by default, but you can choose to save it in your own S3-compatible storage.

Please take a look at the example video conference scenario to understand how it works in detail:

Complete scenario

Complete scenario

Please note

After the conversation, the recorded video does not appear in your control panel immediately. It appears after some processing time, usually a 1/5 of the conference time.

Layouts priorities

Copy URL

By default, the video conference recorder sorts video layouts by the time they connect to the conference. You can change video layout sorting by changing their priority. You can set up any priority you want.

To be able to change video layout priority, first, you need to pass the conference object to the recorder via the setConference method:

Create a recorder instance

Create a recorder instance

Then, use the following methods to manage layout priorities:

  • getPriority(): returns an array of all endpoints in the recorder in the order of their priorities

  • setPriority(): accepts an array of endpoints in the correct order and changes the priorities in real time

Tribune layout

If you set the layout option to tribune, the endpoint with the highest priority appears in the bigger window.

By default, all new conference participants have the highest priority. This is an example of how you can make all new participants have the lowest priority. Please read the comments in the code.

getPriority, setPriority usage

getPriority, setPriority usage

AWS S3-compatible storage

Copy URL

By default, all records are saved in the Voximplant cloud storage. You can use your own AWS S3-compatible storage to store your records. To do so, follow the S3-compatible storage integration guide.

Recorder errors

Copy URL

When you try to access the existing records, you can get the following errors:

Error

Description

403

The link to the record is broken (Invalid URI)

401

Authorization failed

416

Requested range not satisfiable

404

File not found (e.g. the file is deleted)

When you try to access the record in the S3-compatible storage, you can get another S3-specific errors.

Video conference recording billing

Copy URL

When you record a conference, you pay for:

  1. Video recording
  2. Video composition and storage on AWS S3

The price for video composition and storage depends on two parameters: video quality and storage time. Please refer to your control panel's Billing section to find the price table on the video conference recording.