Set source into output mosaic tile
API URL Structure
POST http://\{host}/api/3.0/source_to_output/{output_id}/.json
Would set a source or a UMD text to a specific output mosaic.
The "output_id" can be used with either the internal id ("id") or with user defined id ("uuid") - both would be used as a unique identifier.
If a source is already set to a tile, umd/source will be updated.
In order to completely remove a source from an output mosaic tile, url fields should be set to null.
Submit data structure
{
"Output": {
"Layout": {
"id": 10,
"uuid": "A1234GG", Source: {
"url": "input1:225.0.1.3:3000:192.168.0.1",
"secondary_url": null,
"access_type_id": 5,
"service_type_id": 2,
"title": "Source_1",
"umd_1": "A Source",
"umd_2": "Test",
"layout_box_id": "1",
"coordinates": "8,10",
"is_persistent": "0"
}
},
}
}
Data Fields
Field | Parent | Type | Mandatory | Description |
Output | - | JSON | mandatory | Main header of the data structure |
Layout | Output | JSON | mandatory | Layout header field associated with the output mosaic |
id | Layout | Numeric | The associated layout would be identified based | Internal index |
uuid | Layout | Alphanumeric | User defined index for layout identification. If no layout would be specified, the first available would be used. | |
Source | Layout | JSON | mandatory | The source associated with the displayed visual layout tile |
url | Source | String | mandatory | Source channel address -"{network_name}:udp://{ssm}@{ip_address}:{port} ": network_name : The name of the network ( associated with the physical interface ) the content should be pulled from. ip_address : The Source Multicast address |
secondary_url | Source | String | optional | In case of 2002-7 source, the Secondary channel address |
access_type_id | Source | Enumeration | mandatory | Identification of the source access type - MPEGTS \ 2022-6 \ 2022-6 & |
service_type_id | Source | Enumeration | mandatory | Identification of the source service type - HD \ SD etc … Used for |
title | Source | String | optional | Used for UI channel identification |
umd_1 | Source | String | optional | "Hard Name" UMD text associated with the displayed mosaic tile |
umd_2 | Source | String | optional | "Soft Name" UMD text associated with the displayed mosaic tile |
layout_box_id | Source | Numeric | The tile would be identified based on layout_box_id or | Identification of the tile index inside the displayed layout |
coordinates | Source | String | The X,Y axis coordinates of the tile inside the displayed layout | |
is_persistent | Source | Boolean | mandatory | If persistent, channel would be kept in internal DB even if not |
Assumptions
"uuid": for both output mosaics & layouts would be set on initial configuration, and as such can be regarded a static data.
"network_name": this field supply a logical network name which would be assigned on initial configuration to the 100Gb interfaces, as a result can be used as a static data with the API.
Existing API call examples
PUT http://\{host}/api/3.0/source_to_output/{output_id}/.json
OTT
{
"Output": {
"Layout": {
"id": 1,
"Source": {
"url": "Nic1:{+}https://dfwlive-vos-la4.akamaized.net/Content/DASH_dash.00/Live/channel(cs-+8064.dfw.1080)/manifest_mobile.mpd",
"access_type_id": 6,
"variant_identifier": "ID=1534469623025item-2item;",
"service_type_id": 2,
"title": "DASH Channel",
"primary_umd": "B Source",
"secondary_umd": "AA Test",
"layout_box_id": "2",
"is_persistent": "0"
}
}
}
}
MPEGTS
{ "Output": { "Layout": { "id": 1, "Source": { "url": "Nic1:udp://225.0.1.23:3000@192.168.0.1", "secondary_url": "Nic2:udp://225.0.1.23:3000@192.168.0.1", "variant_identifier": "PROGRAM=6903;", "access_type_id": 2, "service_type_id": 2, "title": "MPTS Channel", "primary_umd": "B Source", "secondary_umd": "AA Test", "layout_box_id": "3", "is_persistent": "0" } } } }
2110/2022-6:
{
"Output": {
"Layout": {
"id": 1,
"Source": {
"url": "Nic1:udp://225.0.1.3:3000@192.168.0.1",
"secondary_url": "Nic2:udp://225.0.1.3:3000@192.168.0.1",
"2110-30": [
{
"url": "Nic1:udp://225.0.1.4:3000@192.168.0.1",
"secondary_url": "Nic2:udp://225.0.1.4:3000@192.168.0.1",
"mapping": "1:2:[3,4]:eng,2:2:[5,6]:fra"
},
{
"url": "Nic1:udp://225.0.1.5:3000@192.168.0.1",
"secondary_url": "Nic2:udp://225.0.1.5:3000@192.168.0.1",
"mapping": "1:2:[3,4]:eng,2:2:[5,6]:fra"
}
],
"2110-40": [
{
"url": "Nic1:udp://225.0.1.6:3000@192.168.0.1",
"secondary_url": "Nic2:udp://225.0.1.6:3000@192.168.0.1"
}
],
"access_type_id": 5,
"service_type_id": 2,
"title": "2110 Channel",
"primary_umd": "B Source",
"secondary_umd": "AA Test",
"layout_box_id": "1",
"is_persistent": "0"
}
}
}
}
REFERENCE
TABLE of IDs
ID | severity | "service_type_id" | "access_type_id" | "standard_type_id " | "audio_standard_type_id " |
1 | critical | SD Video | SPTS | DVB | EBU R128 |
2 | major | HD Video | MPTS | ATSC | ATSC A/85 (no gating) |
3 | minor | Audio | HLS | ||
4 | warning | Data | RTMP | ||
5 | notice | Low Res Video | Uncompressed | ||
6 | info | Contribution Feed | |||
7 | keep alive | Wide SD | |||
8 | SD/HEVC | ||||
9 | HD/25/30/HEVC | ||||
10 | UHD/HEVC | ||||
11 | HD/50/60/HEVC |
Uncompressed sources AUDIO Mapping
Here is an example of an audio mapping string:
1:2:[3,4]:eng,2:2:[5,6]:fra
Details
A:B:[C..D..E]:xxx
A - remapped index - output index
B - number of channels - 1 / 2 / 4 / 6 / 5.1 / 8 ...
CDE - mapping - by original index 1..32 xxx - lang - 3 letters
The fields are optional, you can set only index and channel or index and mappings.
This is also a way to support 32 channel sources - since the display element is limited to 8. 1:8:[1,2,3,4,5,6,7,8],2:8:[9,10,11,12,13,14,15,16]