...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
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
Code Block |
---|
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+json |
Response Body
width
int: The screen widthheight
int: The screen heightframes
int: The frameratescan
string: The scan method of the video signal, which can be either progressive ("p") or interlaced ("i")name
string: The full name of the video mode (a full list of modes can be found here)isAutoMode
bool: A flag indicating whether the video mode was set using auto modemode
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 modeoverscan
bool: A flag indicating whether the video output is using an overscan setting or notmodeName
string: The full name of the video mode (a full list of modes can be found here)interlaced
bool: A flag indicating whether the video output is interlaced (true
) or progressive (false
)width
int: The width of the video outputheight
int: The height of the video outputgraphicsPlaneWidth
int: The width of the graphics planegraphicsPlaneHeight
int: The height of the graphics planefrequency
int: The frame rate of the video outputdropFrame
bool: A flag indicating whether the video timecode utilizes drop framescolorSpace
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
...
Code Block |
---|
...
|
...
GET /video/{:connector}/output/{:device}/
Retrieves information about the specified video output
Segments
connector
: The current value is alwayshdmi
device
: This value in /video/ URLs is currently0
for single-output Series 5 players and all Series 4 and older players. The value can be0
-3
for the XC4055, which has multiple outputs, and0
or1
for the XC2055.
Request 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 alwayshdmi
device
: This value in /video/ URLs is currently0
for single-output Series 5 players and all Series 4 and older players. The value can be0
-3
for the XC4055, which has multiple outputs, and0
or1
for the XC2055 and XT2145.
Request Example
Code Block |
---|
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+json |
Response Body
The following fields will be present in the response:
activeMode
: Information about the active video mode on the playerattached
bool: This value indicates if the HDMI® output is attached or notbestMode
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 returnededid_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: This value indicates the power save status of the display connected
...
resolutions
resolutions[ ]: An array of information about the graphics, output, video resolution. Returns result values for height and width.
status
:
...
audioBitsPerSample
int
...
audioChannelCount
int
...
audioFormat
string
...
audioSampleRate
int
...
eotf
string
...
outputPowered
bool
...
outputPresent
bool
...
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 sampleaudioChannelCount
int: The number of audio channels in the outputaudioFormat
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: A flag indicating whether the display device is on (i.e. RX powered)outputPresent
bool: A flag indicating whether the HDMI output is connected to a display device or not.unstable
bool: A flag indicating whether the display signal is unstable or stable
Response Example
Expand | |||||
---|---|---|---|---|---|
| |||||
|
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 alwayshdmi
device
: This value in /video/ URLs is currently0
for single-output Series 5 players and all Series 4 and older players. The value can be0
-3
for the XC4055, which has multiple outputs, and0
or1
for the XC2055 and XT2145.
Request Example
Code Block |
---|
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+json |
Response Body
result
string: The EDID string result
Response Example
Code Block | ||
---|---|---|
| ||
{
"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 alwayshdmi
device
: This value in /video/ URLs is currently0
for single-output Series 5 players and all Series 4 and older players. The value can be0
-3
for the XC4055, which has multiple outputs, and0
or1
for the XC2055 and XT2145.
Request Example
Code Block |
---|
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+json |
Response Body
is_connected
bool: A flag indicating whether the monitor is connected to the HDMI output on the playeris_powered
bool: A flag indicating whether the monitor is on (for example, RX powered)enabled
bool: A flag indicating whether power-save mode has been enabled on the HDMI/VGA output
Response Example
Code Block | ||
---|---|---|
| ||
{
"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 alwayshdmi
device
: This value in /video/ URLs is currently0
for single-output Series 5 players and all Series 4 and older players. The value can be0
-3
for the XC4055, which has multiple outputs, and0
or1
for the XC2055 and XT2145.
Request Body Parameters
enabled
bool: Whether or not power save is enabled
Request Example
Code Block |
---|
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: 51 |
This is the example request body:
Code Block | ||
---|---|---|
| ||
{
"data": {
"enabled": true
}
} |
Response Body
The server will return a success or error message
Response Example
Code Block | ||
---|---|---|
| ||
{
"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 alwayshdmi
device
: This value in /video/ URLs is currently0
for single-output Series 5 players and all Series 4 and older players. The value can be0
-3
for the XC4055, which has multiple outputs, and0
or1
for the XC2055 and XT2145.
Request Example
Code Block |
---|
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+json |
Response Body
Returns an arrayof 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 signalcolorSpace
string: The color space of the video signaldropFrame
bool: Whether or not the video timecode uses drop framefrequency
int: The frame rate of the video outputwidth
int: The width of the video outputheight
int: The height of the video outputgraphicsPlaneWidth
int: The width of the graphics planegraphicsPlaneHeight
int: The height of the graphics planeinterlaced
bool: Whether or not the video output is interlacedoverscan
bool: Whether or not the video output is using an overscan setting or notpreferred
bool: Whether or not video is the preferred mode
Response Example
Expand | |||||
---|---|---|---|---|---|
| |||||
|
GET /video/{:connector}/output/{:device}/mode/
Retrieves the current video mode on the specified video output
Segments
connector
: The current value is alwayshdmi
device
: This value in /video/ URLs is currently0
for single-output Series 5 players and all Series 4 and older players. The value can be0
-3
for the XC4055, which has multiple outputs, and0
or1
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 modeactive
int optional: If set to 1, this returns the active modeconfigured
int optional: If set to 1, this returns the configured mode
Request Examples
Code Block |
---|
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+json |
Response Body
isAutoMode
bool: Whether the mode is set to “auto”name
string: The name of the video mode. Same asmode.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 signalcolorSpace
string: The color space of the video signaldropFrame
bool: Whether or not the video timecode uses drop framefrequency
int: The frame rate of the video outputwidth
int: The width of the video outputheight
int: The height of the video outputgraphicsPlaneWidth
int: The width of the graphics planegraphicsPlaneHeight
int: The height of the graphics planeinterlaced
bool: Whether or not the video output is interlacedoverscan
bool: Whether or not the video output is using an overscan setting or notpreferred
bool: Whether or not video is the preferred mode
Response Example
Code Block | ||
---|---|---|
| ||
{
"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 alwayshdmi
device
: This value in /video/ URLs is currently0
for single-output Series 5 players and all Series 4 and older players. The value can be0
-3
for the XC4055, which has multiple outputs, and0
or1
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 signalcolorSpace
stringoptional: The color space of the video signaldropFrame
bool: Whether or not the video timecode uses drop framefrequency
intoptional: The frame rate of the video outputwidth
intoptional: The width of the video outputheight
intoptional: The height of the video outputgraphicsPlaneWidth
intoptional: The width of the graphics planegraphicsPlaneHeight
intoptional: The height of the graphics planeinterlaced
booloptional: Whether or not the video output is interlacedoverscan
booloptional: Whether or not the video output is using an overscan setting or notpreferred
booloptional: Whether or not video is the preferred mode
Request Example
Code Block |
---|
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: 95 |
This is the example request body:
Code Block | ||
---|---|---|
| ||
{
"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 successfulreboot
bool: Whether or not the player is rebooting
Response Example
Code Block | ||
---|---|---|
| ||
{
"data": {
"result": {
"success": true,
"reboot": true
}
},
"route": "/v1/video/hdmi/output/0/mode",
"method": "PUT"
} |