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.