AES67 & ST 2110 Deeper Dive

Download as pdf or txt
Download as pdf or txt
You are on page 1of 54

2020 Webinar Series

Deeper Dive
into
AES67 & SMPTE ST 2110
(“The Audio Files”)

Tue, May 12, 2020


15:00 h (CEST)
Presenter: Andreas Hildebrand, ALC NetworX
#1
Your Host
Andreas Hildebrand, RAVENNA Technology Evangelist
• more than 25 years in the professional audio / broadcasting industry
• graduate diploma in computer science
• R&D, project & product management experience
• member of AES67 TG and ST2110 DG

ALC NetworX GmbH, Munich / Germany


• established 2008
• R&D center
• developing & promoting RAVENNA
• Partnerships with > 40 manufacturers

RAVENNA
• IP media networking technology
• designed to meet requirements of professional audio / broadcasting applications
• open technology approach, license-free
• fully AES67-compliant (built-in)

#2
AES67-2018 Standard for
Audio Applications of Networks:
High-performance Streaming Audio-
over-IP Interoperability
AES67 published on September, 11th, 2013

#3
Scope:
• Interoperability guidelines for professional, low‐latency audio over campus and
local area IP networks using existing protocols wherever possible.
• Excludes:
− Non‐IP networking
− Low‐bandwidth media
− Data compression
− Low‐performance WANs and public Internet
− Video (should provide good basis for follow‐on video project)

Goal:
• Technology providers may choose to implement interoperability as a special mode, or transition to it
as their native mode

#4
#5

Dante
X

WheatNet
X
RAVENNA
IP
Livewire

X
Q-LAN
#6

Dante
X

WheatNet
X
AES67
RAVENNA
IP
X
Livewire

X
Q-LAN
AES67 – the “O negative”
of audio networking
(Roland Hemming,
Independent Audio Consultant, UK)

AES67

#7
AES67 – the “O negative”
of audio networking

ACIP

AES67
AES67

AES67 RAVENNA

#8
AES67 technology components

Discovery Not specified (NMOS IS-04/05)

Connection Management SIP (unicast), IGMP (multicast)

Session Description SDP (RFC4566, RFC7273)

Encoding L16/L24, 1..8 ch, 48 samples

QoS Differentiated Services (DiffServ w/ 3 CoS)

Transport RTP / UDP / IP, unicast & multicast

Media Clock 48 kHz

Synchronisation IEEE 1588-2008 (PTPv2)


# 10
AES67 technology components

Discovery Not specified (NMOS IS-04/05)

Connection Management SIP (unicast), IGMP (multicast)

Session Description SDP (RFC4566, RFC7273)

Encoding L16/L24, 1..8 ch, 48 samples

QoS Differentiated Services (DiffServ w/ 3 CoS)

Transport RTP / UDP / IP, unicast & multicast

Media Clock 48 kHz

Synchronisation IEEE 1588-2008 (PTPv2)


# 11
AES67 synchronization & media clocks

• All nodes are running local clocks


• Local clocks are precisely synchronized to a common wall clock via PTP
• Media clocks are generated locally from synchronized local clock
• Generation of any desired media clock (sample rate) possible

# 12
AES67 synchronization & media clocks

Master Clock

PTP
Slave Clocks
(nodes)

Media Clocks

# 13
AES67 synchronization & media clocks

• 3 type of clocks in the system:


• Common reference clock (“wall clock“) - provided by a Grandmaster
− local copy of the wall clock in each node
• Media clock – derived from the local clock (i.e. 48 kHz for audio, 90 kHz for video)
• RTP clock (stream clock) – derived from the media clock

# 14
AES67 synchronization & media clocks
Reference clock
(PTP Grandmaster)
PTP PTP
(copy) (copy)

Sender Receiver
• Offset R is established on stream
Local clock Local clock
start-up RTP stream clock
• R may be random to defeat crypto- R
text attacks Media SDP Media
• This offset will be constant clock clock
throughout the stream’s lifetime Stream data

• The offset (R) will be conveyed via SDP (a=mediaclk:direct=<offset>)

# 15
AES67 technology components

Discovery Not specified (NMOS IS-04/05)

Connection Management SIP (unicast), IGMP (multicast)

Session Description SDP (RFC4566, RFC7273)

Encoding L16/L24, 1..8 ch, 48 samples

QoS Differentiated Services (DiffServ w/ 3 CoS)

Transport RTP / UDP / IP, unicast & multicast

Media Clock 48 kHz

Synchronisation IEEE 1588-2008 (PTPv2)


# 16
AES67 transport
RTP Packets (Layer 5)
• Consist of RTP header, optional payload headers and the payload itself
• RTP header (overhead) = 12 bytes, RTP payload (linear audio data) = up to 1440 bytes
• RTP Timestamp = media clock counter (for linear PCM audio) = 32 bits (4 bytes)
 rollover will occur roughly once per day (~ 1d, 51m, 19s)

# 17
AES67 technology components

Discovery Not specified (NMOS IS-04/05)

Connection Management SIP (unicast), IGMP (multicast)

Session Description SDP (RFC4566, RFC7273)

Encoding L16/L24, 1..8 ch, 48 samples

QoS Differentiated Services (DiffServ w/ 3 CoS)

Transport RTP / UDP / IP, unicast & multicast

Media Clock 48 kHz

Synchronisation IEEE 1588-2008 (PTPv2)


# 18
AES67 - mandatory encoding parameter

• Sampling rate: 48 kHz


(optional: 44.1 / 88.2 / 96 kHz)

• PCM bit width: 16 and 24 bits

Left channel
L1 L2 L3 L4 …
• # of channels per stream: 1..8 L1 R1 L2 R2 L3 R3 L4 R4 … …
R1 R2 R3 R4 … Combined stereo PCM data

Right channel

# 19
AES67 - mandatory encoding parameter

• Packet time:
time: # of frames (samples x channels) per packet at given sample rate

Channel 1 Sample 1 Sample 2 Sample 3 …

Channel 2 Sample 1 Sample 2 Sample 3 …

… … … …

Channel n Sample 1 Sample 2 Sample 3 …

Frame 1 Frame 2 Frame 3 …

Stream of frames Frame 1 Frame 2 Frame 3 …

Sample stream Sample 1 Sample 1 … Sample 1 Sample 2 Sample 2 … Sample 2 Sample 3 Sample 3 … Sample 3 …

# 20
AES67 - mandatory encoding parameter

• Packet time: # of frames (samples x channels) per packet

Packet time Samples Samples Samples Notes


(48 kHz) (96 kHz) (44,1 kHz)
“125 µs” 6 12 6 Compatible with class A AVB transport
“250 µs” 12 24 12 High-performance, low-latency operation. Interoperable with class
A and compatible with class B AVB transport.
“333 µs” 16 32 16 Efficient low-latency operation
“1 ms” 48 96 48 Required common packet time for all devices adhering to this
standard (see 7.2.1)
“4 ms” 192 n.a. 192 For applications desiring interoperability with EBU Tech 3326 or
transport over wider areas or on networks with limited QoS
capability

Mandatory packet time: 1 ms (48 frames @ 48 kHz)


# 21
AES67 encoding examples

Remember: max. MTU: 1500 bytes, → max. RTP payload size: 1460 (1440) bytes

#1: 16 bit PCM, 2 channels, 48 frames (1 ms @ 48 kHz): 192 bytes


#2: 24 bit PCM, 2 channels, 48 frames (1 ms @ 48 kHz): 288 bytes mandatory
#3: 24 bit PCM, 8 channels, 48 frames (1 ms @ 48 kHz): 1152 bytes
#4: 16 bit PCM, 2 channels, 192 frames (4 ms @ 48 kHz): 768 bytes
optional
#5: 24 bit PCM, 2 channels, 96 frames (1 ms @ 96 kHz): 576 bytes
#6: 24 bit PCM, 64 channels, 7 frames (0.15 ms @ 48 kHz): 1344 bytes RAVENNA

How to differentiate between various payload formats?

# 22
AES67 technology components

Discovery Not specified (NMOS IS-04/05)

Connection Management SIP (unicast), IGMP (multicast)

Session Description SDP (RFC4566, RFC7273)

Encoding L16/L24, 1..8 ch, 48 samples

QoS Differentiated Services (DiffServ w/ 3 CoS)

Transport RTP / UDP / IP, unicast & multicast

Media Clock 48 kHz

Synchronisation IEEE 1588-2008 (PTPv2)


# 23
AES67 - SDP Session Description Protocol (RFC 4556)

• Required to describe stream formatting, synchronization and connection information


• Provided by a sender (or management instance) for each stream
• Human-readable text:
v=0
o=1 0 IN IP4 192.168.1.100
s=RAVENNA demo stream
t=0 0
a=ts-refclk:ptp=IEEE1588-2008:00-60-6e-ff-fe-7c-23-0f:0
a=mediaclk:direct=0
m=audio 5004 RTP/AVP 98
a=rtpmap:98 L24/48000/2
c=IN IP4 239.3.14.142
a=recvonly
a=ptime:1

# 25
RAVENNA-to-SAP (RAV2SAP) Converter

# 26
AES67 synchronization - link offset (latency)
RTP timestamp of (first) sample (in packet) Desired playout time for sample

+ -
RTP offset
SDP (a=mediaclk:direct=<offset>)

# 27
AES67 synchronization - link offset

Latency (link offset) – determining factors:

• Underlying network technology (Fast Ethernet / Gigabit Ethernet / …)


• Network topology (number of hops, distances)
• Network jitter (switch performance, hops, bandwidth utilization, competing traffic, QoS)
• Stream / packet configuration (samples per packet, sampling rate)

# 28
AES67 synchronization - link offset
Latency (link offset) – dependency on frames per packet & sampling rate:

Bytes per sample 3 MTU-RTP 1460 Freq 48000

Frames per packet 1 8 12 32 48 128 256


Latency ms 0,02 0,17 0,25 0,67 1,00 2,67 5,33
Channels 1 3 24 36 96 144 384 768
per 2 6 48 72 192 288 768 1536
frame 3 9 72 108 288 432 1152 2304
4 12 96 144 384 576 1536 3072
5 15 120 180 480 720 1920 3840
6 18 144 216 576 864 2304 4608
7 21 168 252 672 1008 2688 5376
10 30 240 360 960 1440 3840 7680
Bytes per sample 3 MTU-RTP 1460 Freq 48000
Speed 1000 max. Load % 90

Packetization Latency
Frames per packet 6 8 32 48 64 128 256
Latency ms 0,13 0,17 0,67 1,00 1,33 2,67 5,33
max. channels 81 60 15 10 7 3 1

Packet size in bytes


Channels 1 18 24 96 144 192 384 768
per 2 36 48 192 288 384 768 1536
frame 3 54 72 288 432 576 1152 2304
4 72 96 384 576 768 1536 3072
5 90 120 480 720 960 1920 3840
6 108 144 576 864 1152 2304 4608
7 126 168 672 1008 1344 2688 5376
64 1152 1536 6144 9216 12288 24576 49152
= MTU size exceeded

Bandwidth in Mbit/s
Channels 1 6,40 5,09 2,14 1,81 1,64 1,40 1,28
per 2 7,55 6,24 3,29 2,96 2,80 2,55 2,43
frame 3 8,70 7,39 4,44 4,11 3,95 3,70 3,58
4 9,86 8,54 5,59 5,26 5,10 4,85 4,73
5 11,01 9,70 6,74 6,42 6,25 6,01 5,88
6 12,16 10,85 7,90 7,57 7,40 7,16 7,04
7 13,31 12,00 9,05 8,72 8,56 8,31 8,19
64 78,98 77,66 74,71 74,38 74,22 73,97 73,85

Streams per Link


Channels 1 140 176 421 497 547 643 705
per 2 119 144 273 304 321 352 370
frame 3 103 121 202 218 227 243 251
4 91 105 160 170 176 185 190
5 81 92 133 140 143 149 152
6 74 82 113 118 121 125 127
7
64
67
11
75
11
99
12
103
12
105
12
108
12
109
12
# 29
AES67 synchronization - link offset
Latency (link offset) – Worst case latency calculations:
Bytes 100 1000 Mbit/s
MTU RTP 1460 Net Data Rate Ethernet
MTU IP 1472 98,70 987,03 Mbit/s
MTU Ethernet 1500 Transfer Time
Ethernet Frame Size 1518 123,04 12,30 µs
Ethernet Frame Size w/ VLAN tag 1522 123,36 12,34 µs
Preamble: 8
Interframe Gap: 12

Formula for max. Bridge


Latency MaxLatency = t_BridgeDelay + t_MaxFrame + n * t_StreamFrame n= number of concurrent RTP streams from different ingress ports for same egress port
t_BridgeDelay 10,24 1,024 µs
max. BridgeLatency 258,58 25,86 µs n= 1
Max. Ethernet Frame Size 1522

1. Hop 2. Hop 3. Hop


Bytes Delay (µs) Bytes Delay (µs) Bytes Delay (µs)
1. stream FE GbE FE GbE FE
channels 8 8 8
bytes / sample 3 3 3
frames/packet 48 48 48
sample rate 48000 48000 48000
payload 1152 1152 1152
frame size 1214 1214 1214
frame + pre + IFG 1234 1234 1234
Worst Case Latency 232,32 23,23 1945,44 194,54 3658,56
Competing streams
number 0 15 15
channels 8 8 8
bytes / sample 3 3 3
frames/packet 48 48 48
sample rate 48000 48000 48000
payload 1152 1152 1152

# 30
AES67 synchronization - link offset

Latency (link offset) – determining factors:

• Underlying network technology (Fast Ethernet / Gigabit Ethernet / …)


• Network topology (number of hops, distances)
• Network jitter (switch performance, hops, bandwidth utilization, competing traffic, QoS)
• Stream / packet configuration (samples per packet, sampling rate)

 Base line: sub-milliseconds latency achievable


(even with layer 3 packet-switching technology)

# 31
SMPTE ST 2110 –
Professional Media over Managed IP Networks
The SMPTE ST 2110 standards suite specifies
• the transport, synchronization and description of
• separate elementary essence streams (video, audio, ancillary data)
• over managed IP networks (at any speed, from 1GbE to 100 GbE and beyond)
• for real-time production, playout and other professional media applications

# 32
SMPTE ST 2022-6 The “bundled” approach

Published beginning in 2012

# 33
SMPTE ST 2110 – The essence-based approach

Published in 2017

# 34
SMPTE 2022-6 vs. SMPTE ST 2110

ST 2022-6 ST 2110

# 35
SMPTE ST 2110 - Professional Media over Managed IP Networks

ST2110 Sender ST2110 Receiver 1

SDI
ST2110 Receiver 2

# 36
SMPTE ST 2110 - Professional Media over Managed IP Networks

Document structure:

• 2110-10: System Timing & Definitions


− defines transport layer and synchronization (SMPTE2059, clocks, RTP, SDP etc.)
• 2110-20: Uncompressed Active Video
− defines payload format for raw video (RFC4175, RTP, SDP, constraints)
• 2110-21: Traffic Shaping and Delivery Timing for Uncompressed Active Video
− defines timing model for senders and receivers (traffic shaping requirements)
• 2110-22: Compressed Active Video
− defines payload format for CBR-compressed video (no codec definition!)
# 38
SMPTE ST 2110 - Professional Media over Managed IP Networks

Document structure:

• 2110-30: PCM Digital Audio


− defines payload format for linear audio (AES67, constraints)
• 2110-31: AES3 Transparent Transport
− defines payload format for non-linear audio (RAVENNA AM824)
• 2110-40: Transport of SMPTE Ancillary Data
− defines RTP payload format for SDI ancillary data (new IETF draft)

# 39
SMPTE ST 2110 - Professional Media over Managed IP Networks

Document structure (audio):

• 2110-10: System Timing & Definitions


− defines transport layer and synchronization (SMPTE2059, clocks, RTP, SDP etc.)
• 2110-30: PCM Digital Audio
− defines payload format for linear audio (AES67, constraints)
• 2110-31: AES3 Transparent Transport
− defines payload format for non-linear audio (RAVENNA AM824)

# 40
SMPTE ST 2110 - Professional Media over Managed IP Networks

Document structure (linear PCM audio):

• 2110-10: System Timing & Definitions


− defines transport layer and synchronization (SMPTE2059, clocks, RTP, SDP etc.)
• 2110-30: PCM Digital Audio
− defines payload format for linear audio (AES67, constraints)

AES67  AIMS WP on
AES67 / ST2110 Commonalities & Constraints

# 41
SMPTE ST 2110 - Professional Media over Managed IP Networks

Constraints of 2110-10 & -30 w/ respect to AES67


- Synchronisation & Timing -

• PTP:
− support of SMPTE 2059-2 required
omessage rate according to AES-R16-2016 (AES67 PTP Media profile)
− defaultDS.slaveOnly=true to intentionally prevent devices from entering PTP master state
− a=ts-refclk:ptp=traceable and a=tsrefclkts-refclk:localmac=<mac_addr> allowed
• RTP clock: offset= 0 w/ respect to media clock / reference clock
− a=mediaclk:direct=0

# 42
SMPTE ST 2110-10 synchronization & media clocks
Reference clock
(PTP Grandmaster)
PTP PTP
(copy) (copy)

Sender Receiver
• Offset R is established on stream
Local clock Local clock
start-up RTP stream clock
• R may be random to defeat crypto- R=0
R
text attacks Media SDP Media
• This offset will be constant clock clock
throughout the stream’s lifetime Stream data

• The offset (R) will be conveyed via SDP (a=mediaclk:direct=<offset>) – must be “0” in ST2110

# 43
SMPTE ST 2110 - Professional Media over Managed IP Networks

Constraints of 2110-10 & -30 w/ respect to AES67


- Protocols -

• IGMPv3 required (includes automatic fallback to IGMPv2)


• Support of RTCP not required (but must be tolerated)
• Support of SIP (or any other connection management protocol) not required
• Redundancy (optional): SMPTE 2022-7
− no identical IP source and destination addresses
• Channel assignment map (SDP attributes - IETF RFC 3190 / SMPTE ST 2067-8) (optional)
− a=fmtp:<payload type> channel-order=<convention>.<order>
− Examples: a=fmtp:101 channel-order=SMPTE2110.(51,ST)
a=fmtp:101 channel-order=SMPTE2110.(M,M,M,M,ST,U02)

# 44
SMPTE ST 2110 - Professional Media over Managed IP Networks
SMPTE 2110 - Professional Media over Managed IP Networks
Constraints of 2110-10 & -30 w/ respect to AES67
• 6 conformance levels (packet setup):

Level To be supported by the Receiver

A (mandatory) Reception of 48 kHz streams with


1 to 8 audio channels at packet times of 1 ms

B Level A +
1 to 8 channels at packet times of 125 µs

C Level A +
1 to 64 channels at packet times of 125 µs

# 48
SMPTE ST 2110 - Professional Media over Managed IP Networks
SMPTE 2110 - Professional Media over Managed IP Networks
Constraints of 2110-10 & -30 w/ respect to AES67
• 6 conformance levels (packet setup):

Level To be supported by the Receiver

AX Level A ( 48 kHz) + Reception of 96 kHz streams with


1 to 4 audio channels at packet times of 1 ms

BX Level B + AX +
1 to 8 channels at packet times of 125 µs

CX Level C + AX +
1 to 32 channels at packet times of 125 µs

# 49
SMPTE ST 2110 - Professional Media over Managed IP Networks

Constraints!

# 50
SMPTE ST 2110 - Professional Media over Managed IP Networks

AES67 / ST 2110-30 compatibility?

Constraints!

ST2110-30
AES67

# 51
SMPTE ST 2110 - Professional Media over Managed IP Networks

AES67 / ST 2110-30 stream compatibility?

Constraints

ST2110-30
AES67

# 52
SMPTE ST 2110 - Professional Media over Managed IP Networks

ST 2110-31 – transparent transport of AES3 audio data

• Can transport any format which can be encapsulated in AES3


− L24 PCM w/ AES3 subframe meta data (PCUV bits)
− non-PCM audio and data formats as defined by SMPTE ST 337 / 338
(i.e. Dolby®E etc.)

# 53
SMPTE ST 2110 - Professional Media over Managed IP Networks

ST 2110-31 – transparent transport of AES3 audio data

• Builds on RAVENNA’s AM824 (IEC 61883-6) payload definition:


− retains AES67 definitions for synchronization and RTP usage
− uses 3 bytes for PCM24 + 1 byte for AES3 meta data
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|0|0|B|F| PCUV | DATA24 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

− RTP payload format signaled in SDP:


a=rtpmap:<pt> AM824/48000/<nchan> - with <nchan> always being an equal number (stereo channels)
− retains all other SDP parms

# 54
SMPTE ST 2110 - Professional Media over Managed IP Networks

AES67 / ST 2110-31 compatibility?

ST2110-31
ST2110-30

# 56
SMPTE ST 2110 - Professional Media over Managed IP Networks

AES67 / ST 2110-31 stream compatibility?

[ST 2110 / AM824 profile]

[add‘l requirements (discovery)]


ST2110-31

# 58
# 60
Questions?

# 61
Answers!

ST 2110 / AES67 Resources:


www.ravenna-network.com/resources

www.aimsalliance.org (resources)

www.smpte.org/smpte-st-2110-faq
# 62
Contact information:

Andreas Hildebrand
ALC NetworX GmbH

[email protected] www.ravenna-network.com

# 63

You might also like