generated from AMWA-TV/bcp-template
-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
1.0-AF-edits #9
Closed
Closed
1.0-AF-edits #9
Changes from 2 commits
Commits
Show all changes
16 commits
Select commit
Hold shift + click to select a range
37d8c30
Revise attribtuion in Introduction to Vizrt NDI AB.
afryer-ross e7ba39e
Update transport_params and add group tags
afryer-ross e5c5f72
Change "NDI Full Bandwidth" to "NDI High Bandwidth. Update transport_…
afryer-ross 2e982a4
Add source_address to transport_params
afryer-ross b428c63
SHALL-MUST
afryer-ross edd5c0e
Typographic corrections
afryer-ross 0b24823
Typographic corrections.
afryer-ross 3e9d071
Changed requirements of receiver from MUST to SHOULD on transport_par…
afryer-ross e47ae33
Revised text around transport_params and connection behaviour.
afryer-ross c5da253
Typographic corrections. Comments on proposed edits to transport_para…
afryer-ross 1bd72c6
Removed sub-flow capabilites. Cleanup of language around transport_pa…
afryer-ross f85d43e
Review transport_params on 13-Mar-2024 meeting.
afryer-ross d126f88
Updates to transport_params from 27-Mar-2024 meeting.
afryer-ross 51919ba
Create .gitkeep
afryer-ross 315225f
Add schema files for transport_params
afryer-ross ed37bf0
Delete schema/.gitkeep
afryer-ross File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -8,7 +8,7 @@ _(c) AMWA 2023, CC Attribution-NoDerivatives 4.0 International (CC BY-ND 4.0)_ | |
|
||
## Introduction | ||
|
||
NDI (Network Display Interface) is an IP transport and control technology created by Newtek, a division of Vizrt Group. It includes definitions of encoding, transport and provides a full SDK to implement IP media transport. This document outlines how NDI devices can be managed through NMOS IS-04 and IS-05. | ||
NDI (Network Display Interface) is an IP transport and control technology created by Newtek. NDI® is a registered trademark of Vizrt NDI AB. It includes definitions of encoding, transport and provides a full SDK to implement IP media transport. This document outlines how NDI devices can be managed through NMOS IS-04 and IS-05. | ||
|
||
Familiarity with the [JT-NM Reference Architecture](https://jt-nm.org/reference-architecture/) and the [NDI® SDK](https://ndi.video/sdk/) are assumed. | ||
|
||
|
@@ -159,6 +159,19 @@ NDI Senders MUST have their `transport` attribute set to `urn:x-nmos:transport:n | |
|
||
NDI Senders MUST be associated with a mux Flow. | ||
|
||
#### NDI Group Tags | ||
|
||
NDI Senders MAY specify the NDI groups through use of tags. NDI Group Tags SHALL use the URN `urn:x-nmos:transport:ndi:group`. Multiple tags MAY be specified, for example: | ||
```json | ||
"tags": { | ||
"urn:x-nmos:tag:transport:ndi:group": [ | ||
"Cameras", | ||
"Studio-A" | ||
] | ||
} | ||
``` | ||
If NDI Group Tags are not specified, it is assumed the sender is part of the default NDI group. | ||
|
||
### Receivers | ||
|
||
The NDI Receiver MUST have its `format` attribute set to `urn:x-nmos:format:mux`. | ||
|
@@ -194,27 +207,22 @@ The IS-05 schemas `sender_transport_params_ndi.json` and `constraints_schema_sen | |
```json | ||
[ | ||
{ | ||
"server_ip": "10.10.10.10", | ||
"server_port": 5960, | ||
"machine_name": "ndi-machine-name", | ||
"source_name": "ndi-sender-unique-name", | ||
"group_name": "camera1" | ||
"source_url" : "..." | ||
} | ||
] | ||
``` | ||
#### machine_name | ||
The name of the sender node in the NDI domain. A node SHALL report the machine name being utilized by the NDI SDK. A controller SHOULD NOT specify a new `machine_name` but SHOULD use `auto` or the current `machine_name`. | ||
|
||
**server_ip**: | ||
IP address hosting the NDI server (IP address of interface bound to the server). If the parameter is set to auto the Sender MUST establish for itself which interface it can use, based on its own internal configuration. A `null` value indicates that the Sender has not yet been configured. | ||
|
||
**server_port**: | ||
Port for the NDI server. If the parameter is set to `auto` the Sender MUST establish for itself which port it can use, based on its own internal configuration. | ||
#### source_name | ||
The name of the NDI stream created by the Native NDI Sender in the NDI domain. This parameter SHALL NOT be concatenated with `machine_name` in the format `machine_name(source_name)`. | ||
|
||
**source_name**: | ||
The name of the NDI stream as declared by the NDI Sender. | ||
| Informative note: In the NDI domain, the `source_name` and `machine_name` are concatenatedin the format `machine_name(source_name)` when streams are discovered and connected, however in the `transport_params`, these properties are kept independent. | ||
|
||
**group_name**: | ||
The NDI group of the source. `null` indicates the default group. | ||
|
||
Although the NDI Advanced SDK does allow NDI Native Devices to specify additional Sender transport parameters, these parameters and properties SHOULD NOT be exposed in NMOS. | ||
#### source_url | ||
The URL of the sender as utilized by the NDI SDK. Sender MUST report this upon activation. The contents are proprietary to the NDI SDK and SHOULD NOT be interpreted. A controller SHOULD specify `auto` or the current value when setting this property. If a controller does not specify `source_url` when updating the transport parameters, the sender shall treat it as `auto`. | ||
|
||
### Receiver Parameters | ||
|
||
|
@@ -223,31 +231,26 @@ The IS-05 schemas `receiver_transport_params_ndi.json` and `constraints_schema_r | |
```json | ||
[ | ||
{ | ||
"interface_ip": "10.10.10.20", | ||
"server_host": "10.10.10.10", | ||
"server_port": 5960, | ||
"machine_name": "ndi-machine-name", | ||
"source_name": "ndi-sender-unique-name", | ||
"group_name": "camera1" | ||
"source_url" : "..." | ||
} | ||
] | ||
``` | ||
|
||
**interface_ip**: | ||
IP address of the network interface the receiver MUST use. If set to `auto` the receiver MUST determine which interface to use. | ||
|
||
**server_host**: | ||
Hostname or IP hosting the NDI server. A `null` value indicates that the Receiver has not yet been configured. | ||
#### machine_name | ||
This indicates the device name of the Native NDI Sender that is to be connected, as utilized by the NDI SDK. | ||
|
||
**server_port**: | ||
Port for the NDI server. If set to `auto` the receiver MUST determine which port to use. | ||
#### source_name | ||
The name of the Native NDI Sender stream in the NDI domain that is to be connected to the Receiver. This property SHALL NOT be concatenatedwith `machine_name` in the format `machine_name(source_name)`. | ||
|
||
**source_name**: | ||
The name of the NDI stream as declared by the NDI sender. | ||
> Informative notes: In the NDI domain, the `source_name` and `machine_name` are concatenatedin the format `machine_name(source_name)` when streams are discovered and connected, however in the `transport_params`, these properties are kept independent. | ||
|
||
**group_name**: | ||
The NDI group of the source, `null` indicates the default group. | ||
#### source_url | ||
The URL of the sender as utilized by the NDI SDK. The contents are proprietary to the NDI SDK and SHOULD NOT be interpreted. A controller SHOULD specify this parameter with values provided by a sender's `transport_params` or the NDI SDK discovery methods. If this parameter is set to `null` or `auto`, the receiver shall determine for itself the value of `source_url`. | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Same comment as above. The vendor implementing the NDI Receiver is free to interpret the url. The only requirement is that the url start with "ndi://" |
||
|
||
Although the NDI Advanced SDK does allow NDI Native Devices to specify additional Receiver transport parameters, these parameters and properties SHOULD NOT be exposed in NMOS. | ||
### Receiver Bahavior | ||
When making a connection in the NDI domain, the source stream may be specified by the combination of `machine_name` and `source_name`, or the `source_url`. If `machine_name` and `source_name` are specified in a receiver's `transport_params`, then `source_url` MAY be set to `null` or `auto`. If `source_url` is specified in a receiver's `transport_params`, both `machine_name` and `source_name` MAY be set to `null` or `auto`, however in this case, `machine_name` and `source_name` MUST be set to the same value. | ||
|
||
## Controllers | ||
|
||
|
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I disagree with that requirement. The Sender shall be able to report the url before activation. The url is not the property of the NDI SDK, it is ndi:// ... and the device that implement an NDI Sender or Receiver is free to interpret it.