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 Infinity can output a dedicated RTMP/RTMPS multimedia stream to enterprise CDN (Content Delivery Network) streaming and recording services such as Wowza, Adobe, VBrick, Quickchannel, Qumu, Microsoft Stream and Azure Media Services, and to public streaming services such as YouTube, Facebook and Periscope. 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).
  • 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.

Streaming/recording indicators and announcements

If the conference is being streamed or recorded, a streaming or recording icon is displayed to the right of the main video layout. 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 Hangouts Meet conference is being recorded, or a Skype for Business / Lync client records a conference.
  • The participant list on Infinity Connect clients 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).
  • Note that an indicator is shown to SfB/Lync clients if streaming is initiated by Pexip Infinity.

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

Announcements to participants in Google Hangouts Meet and Microsoft Teams conferences

  • If a Google Hangouts Meet conference is recorded or streamed, audio prompts indicating that streaming or recording 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 both. 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, audio prompts indicating that recording has been started/stopped are played to callers who are gatewayed via Pexip Infinity into the conference.

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

Initiating streaming from an Infinity Connect client

To initiate streaming from an Infinity Connect client, you add the streaming or recording device as a participant in the VMR. By default, when an Infinity Connect client 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. However, Infinity Connect clients will bypass automatic routing if the destination address entered by the user is prefixed with a protocol such as rtmp: (for example, rtmp://a.rtmp.youtube.com/live2/yg5f-dkm5-vm27-0kw6). In this case, when an rtmp: prefix is used, a Call Routing Rule is not required; the call will be placed directly to the destination address.

However, this does not apply to rtmps: prefixed URLs entered into Infinity Connect — in this case a Call Routing Rule is required, as described in the following section.

Streaming over RTMPS

Some streaming services such as Facebook support RTMPS only, and not RTMP.

When using an Infinity Connect client to add a new participant to a conference, you cannot bypass automatic routing for calls placed to rtmps: prefixed URLs (as it is with calls to rtmp: URLs as described above). Therefore, if you want your deployment to allow Infinity Connect clients to add RTMPS participants, you must set up an appropriate Call Routing Rule, which should 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 a participant over RTMPS, as follows:

  • Participant alias: must begin with the prefix 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

Some streaming services such as YouTube 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 Virtual Meeting Room 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 an Infinity Connect client connected to the VMR. Alternatively, for services that offer persistent URLs (such as with Periscope or 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 (or a legacy Infinity Connect client), use the following settings:

    • Protocol: RTMP
    • Address: the address obtained from the streaming provider.
    • 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 an Infinity Connect client, use the following settings:

    • Participant details: enter your RTMP alias e.g. rtmp://a.rtmp.youtube.com/live2/yg5f-dkm5-vm27-0kw6

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

      Note that dial-out addresses placed via Infinity Connect clients that are prefixed with rtmp: are treated as a special case and therefore a Call Routing Rule is not required. However, calls to RTMPS addresses do require a rule.

    • Role: we recommend selecting Guest.

  3. When Pexip Infinity has placed the call to the streaming service, the Streaming enabled icon is displayed to the right of the conference layout, and for Infinity Connect users the streaming participant appears in the participant list with a streaming badge next to its name:

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