Skip to content
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

RTP agnostic version #4

Merged
merged 5 commits into from
Dec 3, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .render/_config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,10 @@ plugins:
spec_server: specs.amwa.tv

# AMWA ID
amwa_id: BCP-MPEG-TS
amwa_id: BCP-006-04

# Base name for site (typically lower case version of AMWA ID, or the repo name)
baseurl: /bcp-mpeg-ts
baseurl: /bcp-006-04

# Which release or branch appears in header links and on the home page
default_tree: branches/v1.0-dev # alternatively e.g. releases/v1.0
Expand Down
6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# \[Work In Progress\] AMWA BCP-MPEG-TS NMOS Support for MPEG Transport Streams
# \[Work In Progress\] AMWA BCP-006-04 NMOS Support for MPEG Transport Streams

[![Lint Status](https://github.com/AMWA-TV/bcp-mpeg-ts/workflows/Lint/badge.svg)](https://github.com/AMWA-TV/bcp-mpeg-ts/actions?query=workflow%3ALint)
[![Render Status](https://github.com/AMWA-TV/bcp-mpeg-ts/workflows/Render/badge.svg)](https://github.com/AMWA-TV/bcp-mpeg-ts/actions?query=workflow%3ARender)
[![Lint Status](https://github.com/AMWA-TV/bcp-006-04/workflows/Lint/badge.svg)](https://github.com/AMWA-TV/bcp-006-04/actions?query=workflow%3ALint)
[![Render Status](https://github.com/AMWA-TV/bcp-006-04/workflows/Render/badge.svg)](https://github.com/AMWA-TV/bcp-006-04/actions?query=workflow%3ARender)

This repository holds the source for this Specification, part of the family of [Networked Media Open Specifications](https://specs.amwa.tv/nmos) from the [Advanced Media Workflow Association](https://amwa.tv)

Expand Down
55 changes: 22 additions & 33 deletions docs/NMOS With MPEG TS.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# AMWA BCP-006-0x: NMOS with MPEG TS \[Work In Progress\]
# AMWA BCP-006-04: NMOS Support for MPEG Transport Streams \[Work In Progress\]
{:.no_toc}

* A markdown unordered list which will be replaced with the ToC, excluding the "Contents header" from above
Expand All @@ -11,11 +11,7 @@ _(c) AMWA 2024, CC Attribution-NoDerivatives 4.0 International (CC BY-ND 4.0)_

SMPTE [ST 2022-2][ST-2022-2] defines the Unidirectional Transport of Constant Bit Rate MPEG-2 Transport Streams using RTP on IP Networks.

The [Video Services Forum][VSF] developed Technical Recommendations [TR-01][TR-01] and [TR-07][TR-07], which cover the encapsulation of JPEG 2000 and JPEG XS video respectively within MPEG TS over IP networks, compliant with ST 2022-2.

AMWA IS-04 and IS-05 have support for RTP transport and can signal the media type `video/MP2T` as defined in [RFC 3555][RFC-3555].

This BCP allows for the use of all transport types defined by IS-05 that can carry media type `video/MP2T`.
This BCP allows for the use of all transport types defined in the [Transports][Transports-Registry] registry that can carry media type `video/MP2T`.

## Use of Normative Language

Expand All @@ -26,9 +22,9 @@ and "OPTIONAL" in this document are to be interpreted as described in [RFC 2119]

The NMOS terms 'Controller', 'Node', 'Source', 'Flow', 'Sender', 'Receiver' are used as defined in the [NMOS Glossary][NMOS-Glossary].

## MPEG TS IS-04 Sources, Flows, and Senders
## MPEG TS IS-04 Sources, Flows

Nodes capable of transmitting MPEG TS streams, including those carrying JPEG 2000 or JPEG XS content as per VSF TR-01 and TR-07, **MUST** have Source, Flow, and Sender resources in the IS-04 Node API.
Nodes capable of transmitting MPEG TS streams **MUST** have Source, Flow, and Sender resources in the IS-04 Node API.

Nodes **MUST** support IS-04 v1.3 to implement all aspects of this specification.

Expand All @@ -45,42 +41,39 @@ The Source is therefore unaffected by the use of MPEG TS or the encapsulated con
### Flows
The Flow resource **MUST** indicate `video/MP2T` in the `media_type` attribute, and `urn:x-nmos:format:mux` for the `format`.

For Nodes implementing IS-04 v1.3 or higher, the following additional attributes defined in the [Flow Attributes register][Flow-Attributes] of the NMOS Parameter Registers are used for MPEG TS:

- [Bit Rate][Flow-Bit-Rate]
This attribute **MUST** be present in the flow resource definition.

An example Flow resource is provided in the [Examples](../examples/).

## MPEG TS IS-04 Senders and Receivers
IS-04 Senders and Receivers **MUST** use transports defined in the [Transports][Transports-Registry] parameter registry.

### Senders
For Nodes transmitting MPEG TS over RTP transport as defined by ST 2022-2, the Sender `transport` attribute **MUST** be `urn:x-nmos:transport:rtp` or one of its sub-classifications.
For Nodes implementing IS-04 v1.3 or higher, the following additional attributes defined in the [sender attributes register][Sender-Attributes] of the NMOS Parameter Registers are used for MPEG TS:

- [Bit Rate][Sender-Transport-Bit-Rate]
This attribute **MUST** be present as defined in equipment where the bit rate is known.

The SDP file published at the `manifest_href` end-point **MUST** comply with the IS-05 usage guidelines for the specific transport and [RFC 4566][RFC-4566]

An example Sender resource is provided in the [Examples](../examples/).
## Receivers
Nodes capable of receiving MPEG TS streams **MUST** have a Receiver resource in the IS-04 Node API, which lists `video/MP2T` in the `media_types` array within the `caps` object.

## MPEG TS IS-04 Receivers

Nodes capable of receiving MPEG TS streams, including those carrying JPEG 2000 or JPEG XS content as per VSF TR-01 and TR-07, **MUST** have a Receiver resource in the IS-04 Node API, which lists `video/MP2T` in the `media_types` array within the `caps` object.

If the Receiver supports RTP transport, it **MUST** have the `transport` attribute set to `urn:x-nmos:transport:rtp` or one of its sub-classifications..

If the Receiver has limitations on or preferences regarding the MPEG TS streams that it supports, the Receiver resource **MUST** indicate constraints in accordance with the [BCP-004-01][] Receiver Capabilities specification.
If the Receiver has limitations on or preferences regarding the MPEG TS streams that it supports, the Receiver resource **MUST** indicate constraints in accordance with the [BCP 004-01][BCP-004-01] Receiver Capabilities specification.

The Receiver **SHOULD** express its constraints as precisely as possible, to allow a Controller to determine with a high level of confidence the Receiver's compatibility with the available streams.

It is not always practical for the constraints to indicate every type of stream that a Receiver can or cannot consume successfully; however, they **SHOULD** describe as many of its commonly used operating points as practical and any preferences among them.

The `constraint_sets` parameter within the `caps` object can be used to describe combinations of parameters which the Receiver can support, using the parameter constraints defined in the [Capabilities register][Capabilities-Register] of the NMOS Parameter Registers.

The following parameter constraints can be used to express limitations on MPEG TS streams:
- [Transport Bit Rate][Cap-Bit-Rate]
The following parameter constraints **MAY** be used to express limitations on MPEG TS streams:
- [Transport Bit Rate][Cap-Transport-Bit-Rate]

An example Receiver resource is provided in the [Examples](../examples/).

## MPEG TS IS-05 Senders and Receivers

Connection Management using IS-05 proceeds in exactly the same manner as for any other stream format carried over the RTP tranport type.
Connection Management follows IS-05 for the transport type.

Any SDP file published at the **/transportfile** end-point **MUST** comply with the IS-05 usage guidelines for the RTP transport and [RFC 4566][RFC-4566].

Expand All @@ -92,21 +85,17 @@ Controllers **MUST** use IS-04 to discover MPEG TS Senders and Receivers and IS-

Controllers **MUST** support the BCP-004-01 Receiver Capabilities mechanism and all the parameter constraints listed in this specification in order to evaluate the stream compatibility between MPEG TS Senders and Receivers.

Controllers **MUST** be capable of handling RTP transports as per the NMOS specifications indicated in the Sender and Receiver resources.

[BCP-004-01]: https://specs.amwa.tv/bcp-004-01/ "AMWA BCP-004-01 NMOS Receiver Capabilities"
[MPEG-TS]: https://www.iso.org/standard/69461.html "ISO/IEC 13818-1 Systems"
[TR-01]: https://vsf.tv/download/technical_recommendations/VSF_TR-01_2018-06-22.pdf "VSF TR-01 Transport of JPEG 2000 Broadcast Profile Video in MPEG-2 TS over IP"
[TR-07]: https://vsf.tv/download/technical_recommendations/VSF_TR-07_2020-04-01.pdf "VSF TR-07 Transport of JPEG XS Video in MPEG-2 TS over RTP"
[VSF]: https://vsf.tv/ "Video Services Forum"
[RFC-2119]: https://datatracker.ietf.org/doc/html/rfc2119 "Key words for use in RFCs"
[RFC-3555]: https://datatracker.ietf.org/doc/html/rfc3555 "MIME Type Registration of RTP Payload Types"
[ST-2022-2]: https://ieeexplore.ieee.org/document/7291602 "SMPTE ST 2022-2: Unidirectional Transport of Constant Bit Rate MPEG-2 Transport Streams on IP Networks"
[RFC-4566]: https://datatracker.ietf.org/doc/html/rfc4566 "SDP: Session Description Protocol"
[RFC-4855]: https://datatracker.ietf.org/doc/html/rfc4855 "Media Type Registration of RTP Payload Formats"
[NMOS-Glossary]: https://specs.amwa.tv/nmos/main/docs/Glossary.html "NMOS Glossary"
[Capabilities-Register]: https://specs.amwa.tv/nmos-parameter-registers/branches/main/capabilities/ "Capabilities Register"
[Flow-Attributes]: https://specs.amwa.tv/nmos-parameter-registers/branches/main/flow-attributes/ "Flow Attributes Register"
[Flow-Bit-Rate]: https://specs.amwa.tv/nmos-parameter-registers/branches/main/flow-attributes/#bit-rate "Flow Bit Rate"
[Cap-Bit-Rate]: https://specs.amwa.tv/nmos-parameter-registers/branches/main/capabilities/#transport-bit-rate "Transport Bit Rate"
[Sender-Attributes]: https://specs.amwa.tv/nmos-parameter-registers/branches/main/sender-attributes "Sender Attributes Register"
[Sender-Transport-Bit-Rate]: https://specs.amwa.tv/nmos-parameter-registers/branches/main/sender-attributes/#bit-rate "Sender Transport Bit Rate"
[Cap-Transport-Bit-Rate]: https://specs.amwa.tv/nmos-parameter-registers/branches/main/capabilities/#transport-bit-rate "Transport Bit Rate"
[Transports-Registry]: https://specs.amwa.tv/nmos-parameter-registers/branches/main/transports "Transports"


10 changes: 5 additions & 5 deletions spec.yml
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
amwa_id: BCP-MPEG-TS
url: https://specs.amwa.tv/bcp-mpeg-ts
amwa_id: BCP-006-04
url: https://specs.amwa.tv/bcp-006-04
name: AMWA NMOS Support for MPEG Transport Streams
status: Work In Progress
repo_name: bcp-mpeg-ts
alt_repo_name: nmos-bcp-mpeg-ts
repo_url: https://github.com/AMWA-TV/bcp-mpeg-ts
repo_name: bcp-006-04
alt_repo_name: bcp-mpeg-ts
repo_url: https://github.com/AMWA-TV/bcp-006-04
releases:
default_branch: main
show_in_index: false
Loading