rDWS Video Endpoints
Base URL for these endpoints: https://ws.bsn.cloud/rest/v1/
_________________________________________________________________________
GET /video-mode/
Retrieves the currently active video mode on the player
Request Example
GET /rest/v1/video-mode/?destinationType=player&destinationName={{deviceSerial}} HTTP/1.1
Host: ws.bsn.cloud
Authorization: Bearer {{UserAccessToken}}
Accept: application/json, application/vnd.bsn.error+jsonResponse Body
- width int: The screen width
- height int: The screen height
- frames int: The framerate
- scan string: The scan method of the video signal, which can be either progressive ("p") or interlaced ("i")
- isAutoMode bool: A flag indicating whether the video mode was set using auto mode
- mode mode{ }: A Mode object that gives additional information about the video output. This object can contain the following properties:
- preferred bool: A flag indicating whether the video mode is the preferred mode
- overscan bool: A flag indicating whether the video output is using an overscan setting or not
- interlaced bool: A flag indicating whether the video output is interlaced (true) or progressive (false)
- width int: The width of the video output
- height int: The height of the video output
- graphicsPlaneWidth int: The width of the graphics plane
- graphicsPlaneHeight int: The height of the graphics plane
- frequency int: The frame rate of the video output
- dropFrame bool: A flag indicating whether the video timecode utilizes drop frames
- colorSpace string: The color space of the video signal ("rgb", "yuv420", or "yuv422")
- colorDepth string: The color depth of the video signal ("8bit", "10bit", or "12bit")
Response Example
{
"route": "/v1/video-mode",
"method": "GET",
"data": {
"result": {
"isAutoMode": false,
"name": "640x480x60p",
"width": "640",
"height": "480",
"frames": "60",
"scan": "p",
"mode": {
"colorDepth": "8bit",
"colorSpace": "rgb",
"dropFrame": false,
"frequency": 60,
"graphicsPlaneHeight": 480,
"graphicsPlaneWidth": 640,
"height": 480,
"interlaced": false,
"modeName": "640x480x60p",
"overscan": false,
"preferred": false,
"width": 640
}
}
}
}GET /video/{:connector}/output/{:device}/
Retrieves information about the specified video output
Segments
- connector: The current value is always hdmi
- device: This value in /video/ URLs is currently 0 for single-output Series 5 players and all Series 4 and older players. The value can be 0-3 for the XC4055, which has multiple outputs, and 0 or 1 for the XC2055 and XT2145.
Request Example
GET /rest/v1/video/hdmi/output/0/?destinationType=player&destinationName={{deviceSerial}} HTTP/1.1
Host: ws.bsn.cloud
Authorization: Bearer {{UserAccessToken}}
Accept: application/json, application/vnd.bsn.error+jsonResponse Body
The following fields will be present in the response:
- activeMode: Information about the active video mode on the player
- attached bool: Indicates if the HDMI® output is attached or not
- bestMode string: The best video mode for the player. The HDMI connector must be attached because it gets details from EDID result.
- configuredMode: The configured video mode on the player. This can be different than activeMode.
- edid string: Returns the EDID read string of the display connected to the player. If power save is on, zeroes will be returned
- edid_identity: Parses the above string in a JSON format for readability. Requires an HDMI output connected to the player and a display.
- modes: List of all available video modes on the player.
- powerSaveStatus bool: Indicates the power save status of the display connected to the player.
- resolutions resolutions[ ]: An array of information about the graphics, output, video resolution. Returns result values for height and width.
- status:
- audioBitsPerSample int: The number of bits per audio sample
- audioChannelCount int: The number of audio channels in the output
- audioFormat string: The format of the audio output. A "PCM" value indicates that the player is sending decoded output.
- audioSampleRate int: The audio sample rate (in hertz)
- eotf string: The current electro-optical transfer function (EOTF) used by the display. The following are possible values:
- "HDR (GAMMA)"
- "SDR (GAMMA)"
- "SMPTE 2084 (PQ)"
- "Future (BBC/NHK)"
- "unspecified"
- outputPowered bool: Indicates if the display device is on (i.e. RX powered)
- outputPresent bool: Indicates if the HDMI output is connected to a display device or not.
- unstable bool: Indicates if the display signal is unstable or stable
Response Example
GET /video/{:connector}/output/{:device}/edid/
Returns the EDID information from a compatible monitor/television connected to the video output
Segments
- connector: The current value is always hdmi
- device: This value in /video/ URLs is currently 0 for single-output Series 5 players and all Series 4 and older players. The value can be 0-3 for the XC4055, which has multiple outputs, and 0 or 1 for the XC2055 and XT2145.
Request Example
GET /rest/v1/video/hdmi/output/0/edid/?destinationType=player&destinationName={{deviceSerial}} HTTP/1.1
Host: ws.bsn.cloud
Authorization: Bearer {{UserAccessToken}}
Accept: application/json, application/vnd.bsn.error+jsonResponse Body
- result string: The EDID string result
Response Example
{
"route": "/v1/video/hdmi/output/0/edid",
"method": "GET",
"data": {
"result": "00ffffffffffff004c2d0d050100000030120103801009780aee91a3544c99260f5054bdef80714f8111214081809500950fb3000101023a801871382d40582c4500a05a0000001e662150b051001b3040703600a05a0000001e000000fd00184b1a5117000a202020202020000000fc0053414d53554e470a2020202020016b020322f1469004050320222309070783010000e2000fe305030167030c001000b82d011d007251d01e206e285500a05a0000001e011d8018711c1620582c2500a05a0000009e8c0ad08a20e02d10103e9600a05a00000018000000000000000000000000000000000000000000000000000000000000000000000000000000ef00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
}
}GET /video/{:connector}/output/{:device}/power-save/
Retrieves the power status of the monitor connected to the player (as reported over EDID)
Segments
- connector: The current value is always hdmi
- device: This value in /video/ URLs is currently 0 for single-output Series 5 players and all Series 4 and older players. The value can be 0-3 for the XC4055, which has multiple outputs, and 0 or 1 for the XC2055 and XT2145.
Request Example
GET /rest/v1/video/hdmi/output/0/power-save/?destinationType=player&destinationName={{deviceSerial}} HTTP/1.1
Host: ws.bsn.cloud
Authorization: Bearer {{UserAccessToken}}
Accept: application/json, application/vnd.bsn.error+jsonResponse Body
- is_connected bool: Indicates whether the monitor is connected to the HDMI output on the player
- is_powered bool: Indicates whether the monitor is on (for example, RX powered)
- enabled bool: Indicates whether power-save mode has been enabled on the HDMI/VGA output
Response Example
{
"route": "/v1/video/hdmi/output/0/power-save/",
"method": "GET",
"data": {
"result": {
"is_connected": true,
"is_powered": true,
"enabled": false
}
}
}PUT /video/{:connector}/output/{:device}/power-save/
Enables or disables power-save mode on the monitor connected to the player (via HDMI, VGA, or Component)
Segments
- connector: The current value is always hdmi
- device: This value in /video/ URLs is currently 0 for single-output Series 5 players and all Series 4 and older players. The value can be 0-3 for the XC4055, which has multiple outputs, and 0 or 1 for the XC2055 and XT2145.
Request Body Parameters
- enabled bool: Whether or not power save is enabled
Request Example
PUT /rest/v1/video/hdmi/output/0/power-save/?destinationType=player&destinationName={{deviceSerial}} HTTP/1.1
Host: ws.bsn.cloud
Authorization: Bearer {{UserAccessToken}}
Accept: application/json, application/vnd.bsn.error+json
Content-Type: application/json
Content-Length: 51This is the example request body:
{
"data": {
"enabled": true
}
}Response Body
The server will return a success or error message
Response Example
{
"data": {
"result": true
},
"route": "/v1/video/hdmi/output/0/power-save",
"method": "PUT"
}GET /video/{:connector}/output/{:device}/modes/
Retrieves all available video modes on the specified video output
Segments
- connector: The current value is always hdmi
- device: This value in /video/ URLs is currently 0 for single-output Series 5 players and all Series 4 and older players. The value can be 0-3 for the XC4055, which has multiple outputs, and 0 or 1 for the XC2055 and XT2145.
Request Example
GET /rest/v1/video/hdmi/output/0/modes/?destinationType=player&destinationName={{deviceSerial}} HTTP/1.1
Host: ws.bsn.cloud
Authorization: Bearer {{UserAccessToken}}
Accept: application/json, application/vnd.bsn.error+jsonResponse Body
Returns an array of video mode objects, each of which contain the following parameters:
- modeName string: The mode (for example, “1920x1080x60p”)
- colorDepth string: The color depth of the video signal
- colorSpace string: The color space of the video signal ("rgb", "yuv420", or "yuv422")
- dropFrame bool: Whether or not the video timecode uses drop frame
- frequency int: The frame rate of the video output
- width int: The width of the video output
- height int: The height of the video output
- graphicsPlaneWidth int: The width of the graphics plane
- graphicsPlaneHeight int: The height of the graphics plane
- interlaced bool: Whether or not the video output is interlaced
- overscan bool: Whether or not the video output is using an overscan setting or not
- preferred bool: Whether or not video is the preferred mode
Response Example
GET /video/{:connector}/output/{:device}/mode/
Retrieves the current video mode on the specified video output
Segments
- connector: The current value is always hdmi
- device: This value in /video/ URLs is currently 0 for single-output Series 5 players and all Series 4 and older players. The value can be 0-3 for the XC4055, which has multiple outputs, and 0 or 1 for the XC2055 and XT2145.
Query String Parameters
Each of these parameters delivers a different mode value:
- best int optional: If set to 1, this returns the best mode
- active int optional: If set to 1, this returns the active mode
- configured int optional: If set to 1, this returns the configured mode
Request Examples
GET /rest/v1/video/hdmi/output/0/mode/?best=1&destinationType=player&destinationName={{deviceSerial}} HTTP/1.1
Host: ws.bsn.cloud
Authorization: Bearer {{UserAccessToken}}
Accept: application/json, application/vnd.bsn.error+jsonResponse Body
- isAutoMode bool: Whether the mode is set to “auto”
- name string: The name of the video mode. Same as mode.modeName below.
- width string: The width value of the video mode.
- height string: The height value of the video mode.
- frames string: The frame rate value of the video mode.
- scan string: The scan character value of the video mode.
- mode object: The currently configured video mode on the video output with following parameters -
- modeName string: The mode (for example, “1920x1080x60p”)
- colorDepth string: The color depth of the video signal
- colorSpace string: The color space of the video signal ("rgb", "yuv420", or "yuv422")
- dropFrame bool: Whether or not the video timecode uses drop frame
- frequency int: The frame rate of the video output
- width int: The width of the video output
- height int: The height of the video output
- graphicsPlaneWidth int: The width of the graphics plane
- graphicsPlaneHeight int: The height of the graphics plane
- interlaced bool: Whether or not the video output is interlaced
- overscan bool: Whether or not the video output is using an overscan setting or not
- preferred bool: Whether or not video is the preferred mode
Response Example
{
"route": "/v1/video/hdmi/output/0/mode/",
"method": "GET",
"data": {
"result": {
"isAutoMode": false,
"name": "1920x1080x60p",
"width": "1920",
"height": "1080",
"frames": "60",
"scan": "p",
"mode": {
"colorDepth": "8bit",
"colorSpace": "rgb",
"dropFrame": false,
"frequency": 60,
"graphicsPlaneHeight": 1080,
"graphicsPlaneWidth": 1920,
"height": 1080,
"interlaced": false,
"modeName": "1920x1080x60p",
"overscan": true,
"preferred": false,
"width": 1920
}
}
}
}PUT /video/{:connector}/output/{:device}/mode/
Changes the video mode on the player
Segments
- connector: The current value is always hdmi
- device: This value in /video/ URLs is currently 0 for single-output Series 5 players and all Series 4 and older players. The value can be 0-3 for the XC4055, which has multiple outputs, and 0 or 1 for the XC2055 and XT2145.
Request Body Parameters
A video mode object containing the following value(s):
- modeName string required: The mode (for example, “1920x1080x60p”)
- colorDepth string optional: The color depth of the video signal
- colorSpace string optional: The color space of the video signal ("rgb", "yuv420", or "yuv422")
- dropFrame bool: Whether or not the video timecode uses drop frame
- frequency int optional: The frame rate of the video output
- width int optional: The width of the video output
- height int optional: The height of the video output
- graphicsPlaneWidth int optional: The width of the graphics plane
- graphicsPlaneHeight int optional: The height of the graphics plane
- interlaced bool optional: Whether or not the video output is interlaced
- overscan bool optional: Whether or not the video output is using an overscan setting or not
- preferred bool optional: Whether or not video is the preferred mode
Request Example
PUT /rest/v1/video/hdmi/output/0/mode/?destinationType=player&destinationName={{deviceSerial}} HTTP/1.1
Host: ws.bsn.cloud
Authorization: Bearer {{UserAccessToken}}
Accept: application/json, application/vnd.bsn.error+json
Content-Type: application/json
Content-Length: 95This is the example request body:
{
"data": {
"name": {
"modeName": "640x480x60p"
}
}
}Response Body
The server will return a success or error message. A successful response will almost always cause a reboot which will be indicated in the response.
- result object: The response object.
- success bool: Whether or not the operation was successful
- reboot bool: Whether or not the player is rebooting
Response Example
{
"data": {
"result": {
"success": true,
"reboot": true
}
},
"route": "/v1/video/hdmi/output/0/mode",
"method": "PUT"
}