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 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.
When a conference is
- 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.
- 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.
Participants in a conference that is being streamed or recorded see the following indicators:
- A streaming icon is displayed to the right of the main video layout. Whenever a new participant joins the conference, and every two minutes otherwise, this icon will briefly slide out and show the text "Streaming enabled". The icon and text can be changed, and the streaming indicator can be disabled; see Creating and applying themes to conferences.
- 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).
- If a Skype for Business / Lync client records a conference, the streaming indicator is shown on the video conferencing systems, and if recording via Pexip Infinity, an indicator is shown to SfB/Lync clients.
For administrators looking at a conference graph, streaming participants are identified by a indicator.
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 recording or streaming indicators are displayed 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, and a recording indicator is displayed.
The content of these audio files and indicators can also be changed by customizing a theme.
In order to initiate streaming from an Infinity Connect client, you add the streaming or recording device as a participant in the VMR. By default, when a next-generation 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 will then be placed using the protocol specified in the rule. However, Infinity Connect clients allow users to bypass automatic routing and force a call over certain protocols by prefixing the destination address with the protocol (for example, rtmp://a.rtmp.youtube.com/live2/yg5f-dkm5-vm27-0kw6). When one of these prefixes is used, a Call Routing Rule is not required; the call will be placed directly to the destination address. Note however that Infinity Connect clients are not able to place calls directly to aliases starting with rtmps: using this method; for more information, see the following section.
Some streaming services such as Facebook support RTMPS only, and not RTMP.
When using a Infinity Connect client to add a new participant to a conference, it is not currently possible to force the call over RTMPS (as it is with calls over RTMP, as described in the section above). Therefore, if you wish 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:
|Priority||This is a very specific rule, so we recommend that you give it a relatively high priority.|
|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 externally.|
After you have created the above rule, it will also apply to any calls placed using the administrator interface, or to an Automatically dialed particpant, 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.
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.
In general, to integrate with a third-party streaming or recording service:
- From the streaming provider, obtain an address to which the video stream will be sent.
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
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).
When using a next-generation Infinity Connect client, use the following settings:
Participant details: enter your
RTMP aliase.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 next-generation 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.
When Pexip Infinity has placed the call to the streaming service, the 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.