Scope
Sometimes you need an SDP file, but depending on what device you have, you might not be able to download one. That's OK, it's pretty easy to write your own. This article provides an example that you can follow.
If you are working with a Livewire device and you need to convert a Livewire channel to a multicast address, click here and use the calculator.
The example below presumes that the following are true. Change the values to suit your purpose:
The IP address of the device is
172.30.8.37
('o' line)Stream1
is the arbitrary name of the stream ('s' line)The multicast address of the stream is
239.30.22.1
('c' line)The MAC address of the PTP clock generator is
01:23:45:67:89:AB:CD:EF
('a=ts-refclk' line)And the PTP domain is
127
(listed after the PTP mac address in the 'a=ts-refclk' line)
v=0
o=Node 1 1 IN IP4 172.30.8.37
s=Stream1
t=0 0
m=audio 5004 RTP/AVP 96
c=IN IP4 239.30.22.1
a=rtpmap:96 L24/48000/2
a=recvonly
a=ptime:1
a=ts-refclk:ptp=IEEE1588-2008:01-23-45-67-89-AB-CD-EF:127
a=mediaclk:direct=0
a=sync-time:0
Finally, save the text tile with the *.sdp
extension.
The name of the file should match the stream name given in the 's' line for consistency, but is not required. In this example,
Stream1.sdp
Breakdown of THIS example
There is no single place where you can find information about SDP files. If you Google SDP files for AES67 or SMPTE-2110, you should find more than enough reading material.
v=0
Version: SDP protocol version. Always 0
o=Node 1 1 IN IP4 172.30.8.37
Origin field: Who/where the session was created
Node 1
→ username or identifier of the session originator1
→ session ID1
→ session version.IN
→ network type (Internet)IP4
→ address type (IPv4)172.30.8.37
→ originating host's IP address
s=Stream1
Session name: A human-readable label for the stream ("Stream1")
t=0 0
Time: When the session is active.
0 0
means "unbounded" — always active
m=audio 5004 RTP/AVP 96
Media description:
audio
→ media type5004
→ port where RTP packets are sentRTP/AVP
→ transport protocol (RTP using the Audio/Video Profile)96
→ dynamic payload type number (to be defined inrtpmap
)
c=IN IP4 239.30.22.1
Connection info:
IN
→ network type (Internet)IP4
→ IPv4239.30.22.1
→ multicast address carrying the stream.
a=rtpmap:96 L24/48000/2
RTP mapping: Payload type
96
maps toL24
(linear PCM, 24-bit)48000
→ sample rate (48 kHz)2
→ channels (stereo).
a=recvonly
Direction attribute: This endpoint only receives media (no sending).
a=ptime:1
Packetization time: Each RTP packet contains 1 ms of audio.
a=ts-refclk:ptp=IEEE1588-2008:01-23-45-67-89-AB-CD-EF:127
Timestamp reference clock:
Uses IEEE 1588-2008 Precision Time Protocol (PTP)
01-23-45-67-89-AB-CD-EF
→ the PTP grandmaster clock identity127
→ domain number.This tells receivers how RTP timestamps are tied to a reference clock.
a=mediaclk:direct=0
Media clock source:
direct=0
→ the media clock is derived directly from the reference (in this case, the PTP clock).
---
a=sync-time:0
Synchronization time:
Indicates the media synchronization epoch
0
→ sync starts at RTP timestamp zero (reference point for alignment).
Put together: this SDP describes a multicast, 48 kHz, stereo, 24-bit LPCM audio stream sent via RTP to
239.30.22.1:5004
, with packet timing and synchronization locked to an IEEE 1588 PTP clock.
Let us know how we can help
If you have further questions on this topic or have ideas about improving this document, please contact us.