Display Encoding

 

The display: source component allows the player to accurately stream the graphics and video output of the current presentation (without audio). Once encoded, the display can be used like any other stream: It can be unicast, multicast, saved to a file, passed to a memory stream, or accessed via HTTP or RTSP servers. There are some limitations to what can be streamed, but the display: component is able to provide a near facsimile of what is currently being output on the display.

Example
m.SetPipeline("display:mode=1,encoder:,rtp://239.192.0.0:5004/")

Modes and Limitations

The display: component has two video streaming modes, which are specified as follows:

display:mode=[mode_number]
  • Mode 1: Like the primary display, the stream supports two video decoders. This guarantees that the stream will include all videos in the display area. However, the stream will not scale graphics properly, so it is best not to specify a display resolution: In other words, the resolution of the display source will need to match that of the stream destination.

  • Mode 2: The graphics can be properly scaled to any size, but the stream can only support one video decoder. This means that, depending on the presentation, the stream may not always include all videos in the display area.

XTx44 and XDx34 models support Mode 2 only. If Mode 1 is selected on one of these models, a warning will be issued in the log and Mode 2 will be selected automatically. 

Video Transforms

Neither streaming mode supports displaying a video window that has a transformation applied to it (for example, by calling roVideoPlayer.SetTransform() in BrightScript). In these cases, the video zone will appear in the encoded display stream, but without the transform applied to it (the primary display will be unaffected either way).

HDCP

If a video zone is playing from a source that is HDCP, that video will not appear in the encoded display stream. The video will still appear on a display connected to the player that is streaming.

Display Resolutions

Similar to the encoder: component, the resolution of an encoded display stream can be specified using the vformat parameter.

display:mode=[mode_number]&vformat=[resolution]

As noted above, the video mode will usually need to be set to 2 to ensure accurate scaling of graphics in the presentation. For display encoding, the vformat parameter of the encoder: destination component is ignored. However, the vbitrate parameter of the encoder: destination component is still used to specify the bitrate of the encoded display stream.

When the vformat parameter is not specified, the encoded video stream will match the resolution of the primary display (i.e. the video output of presentation). This means that the video mode can be set to 1 without causing graphics-scaling issues. The vformat parameter currently accepts the following values:

  • 480i*

  • 480p25

  • 480p30

  • 720p60

  • 720p50

  • 720p24

  • 720p30

  • 1080i60

  • 1080i50

  • 1080p24

  • 1080p25

  • 1080p30

  • 1080p50

  • 1080p60

*This mode runs at 50Hz.