Streaming and recording a conference

This topic provides a general overview of Pexip Infinity's support for streaming and recording. For specific step-by-step instructions on how to integrate with some popular streaming services, see Integrating with streaming and recording services.

Pexip VMRs can output a dedicated RTMP/RTMPS multimedia stream to enterprise CDN (Content Delivery Network) streaming and recording services such as Wowza, Quickchannel, Qumu, VideoTool, Microsoft Stream and Azure Media Services, and to public streaming services such as YouTube and Facebook. Any Pexip conference can be streamed as a live event to an unlimited number of viewers, and can automatically be recorded and stored for later consumption.

If your conference contains presentation content, you have the option of setting up dual streams so that you can output the main video and presentation content channels separately. This means that viewers can simultaneously access the main video stream of the participants and a separate presentation content stream.

The administrator or meeting Host has to decide whether to set up the conference with a single RTMP stream or with dual RTMP streams. Currently, you cannot set up a single stream purely for presentation content.

When a conference is single streamed:

  • Viewers are automatically switched between the main video stream and the presentation stream whenever someone is presenting.
  • When someone is presenting, the video stream of the active speaker is shown in a small window in the upper right corner of the presentation. Currently, you cannot set up a single stream purely for presentation content (i.e. without the small video window).
  • When someone is presenting in Adaptive Composition layout, the presentation is received in the layout mix and the video stream of the active speaker is shown alongside the presentation.
  • The same single stream (with automatic switching between main video and presentation streams) can be made available later as a recording.

When a conference is dual streamed:

  • Viewers have to manually switch between the main video stream and the presentation stream, according to their preference. (However, viewers could optionally view the streams in two separate windows — one window showing the main video stream and the other window showing the presentation stream.)
  • The main video stream is not embedded as a small window within the presentation stream.
  • If nobody is currently presenting, Pexip Infinity sends a placeholder image on the presentation stream.
  • If the event is made available later as a recording, it can only be played back as two completely separate streams. There is no synchronization between the streams.

Note that your firewall needs to allow outbound traffic from the Conferencing Node to TCP port 1935 on the RTMP streaming server.

If required, you can set up multiple streams from the same conference to different streaming services.

Streaming/recording indicators and announcements

If the conference is being streamed or recorded, a streaming or recording icon is displayed. In adaptive layouts this is shown at the top center of the layout. In other layouts it is shown to the right of the main video layout, and whenever a new participant joins the conference, and every two minutes otherwise, the icon will briefly slide out and show its associated text — "Streaming enabled" or "Recording". The icons and text can be changed, and the indicators can be disabled; see Creating and applying themes to conferences.

  • The streaming indicator is displayed when a streaming participant is added to the conference.
  • The recording indicator is displayed if a Microsoft Teams or Google Meet conference is being recorded, or a Skype for Business / Lync client records a conference.
  • The participant list on Connect apps also shows the streaming or recording device to which the stream is being sent. A streaming participant has a streaming badge next to its name (which usually takes the form of the URL to which the stream is being sent).

For administrators looking at a conference graph, streaming participants are identified by a indicator.

Announcements to participants in Google Meet and Microsoft Teams conferences

  • If a Google Meet conference is recorded, streamed or transcribed, then audio prompts indicating that streaming/recording/transcribing has been started/stopped are played to callers who are gatewayed via Pexip Infinity into the conference, and distinct messages and indicators are used depending on whether the conference is being recorded, streamed or transcribed. When streaming, the audio prompts and indicators also vary according to whether the stream is public or not.
  • If a Microsoft Teams conference is recorded or transcribed, relevant audio prompts indicating that recording/transcription has been started/stopped are played to VTC participants.

The content of these audio files can also be changed by customizing a theme.

Initiating streaming from the Connect app

To initiate streaming from the Connect app, you add the streaming or recording device as a participant in the VMR.

When a Connect app user adds a new participant to a conference, Automatic routing is used, meaning that the dialed alias must match an appropriate Call Routing Rule, and the call is then placed using the protocols and other settings as specified in the rule.

A suitable rule to match rtmp and rtmps aliases would typically include the following settings:

Option Setting
Name A suitable description such as "Streaming to <streaming service>".
Priority This is a very specific rule, so we recommend that you give it a relatively high priority (a low number).
Incoming gateway calls If you want to use this rule just for calls placed from a conference, then leave this blank (disabled). However, if you also want to use this rule to enable incoming gateway calls to be placed out to streaming or recording devices, then enable this option.
Outgoing calls from a conference Enabled
Match against full alias URI Enabled
Destination alias regex match rtmps?://(.*)
Destination alias regex replace string Leave this option blank — we want to dial the alias as it was received.
Outgoing location Ensure that you select a location that is able to place calls to the streaming or recording system, such as a location containing Proxying Edge Nodes when streaming to external RMTP ingest endpoints.
Protocol RTMP (streaming)

After you have created the above rule, it will also apply to any calls placed using the administrator interface, or to an Automatically dialed participant, where you have selected to route the call automatically.

Alternatively, you can bypass the need for call routing rules by using the administrator interface to dial out to the streaming participant, as follows:

  • Participant alias: the address of the streaming service (typically prefixed with rtmp:// or rtmps://)
  • Route this call: Manually
  • Protocol: RTMP
  • Streaming: enabled.

In this case, because the call is routed manually, Call Routing Rules are not required.

Streaming when Pexip Infinity enforces media encryption

When streaming over RTMPS for media encryption, you typically need to specify port 443 on the streaming server, if the streaming URL that you created does not already specify a port. For example, a YouTube RTMPS streaming URL would need to be in the format rtmps://

Some streaming services support RTMP only, and not RTMPS. Therefore, if Media encryption is set to Required (either globally or for the specific VMR being used), a call to the RTMP-only streaming service will fail.

In such cases, if appropriate, you may consider changing the Media encryption setting for the VMR to Best effort, which will allow outbound calls to be placed over RTMP.

General instructions for setting up streaming

In general, to integrate with a third-party streaming or recording service:

  1. From the streaming provider, obtain an address to which the video stream will be sent.
  2. Initiate a call from the conference to the streaming address. This is done by adding the streaming address as a conference participant. You can do this either from the Pexip Infinity Administrator interface or from a Connect app connected to the VMR. Alternatively, for services that offer persistent URLs (such as with YouTube) which therefore can be re-used for subsequent streams, you could set up the URL to be automatically dialed whenever a particular VMR is used.

    When using the Administrator interface, use the following settings:

    • Participant alias: the address obtained from the streaming provider.
    • Protocol: RTMP
    • Role: we recommend selecting Guest (so that the streaming participant is not shown to other Guests in a Virtual Auditorium layout, and so that it does not keep a conference alive when all other Hosts have left).
    • Streaming: select this option.

    When using a Connect app, use the following settings:

    • Participant details: enter your rtmp/rtmps alias e.g. rtmps://

      RTMP authentication is supported; in this case credentials are included in the URI using the syntax rtmps://username:password@host/....

      Note that a suitable Call Routing Rule is required when dialing out to a streaming service via Connect apps.

    • Role: we recommend selecting Guest.
  3. When Pexip Infinity has placed the call to the streaming service, the Streaming enabled icon is displayed, and for Connect app users the streaming participant appears in the participant list.

Skype for Business / Lync clients can also use the Infinity Gateway service to dial out to an RTMP streaming or recording service from within a Skype for Business / Lync meeting.