Session Description Protocol


BL Study Plan2110 Topo

What you will learn on this page


This lesson explains how Session Description Protocol fits into the SMPTE ST 2110 stack.
What a Design Engineer Must Know
How to Create an SDP File for ST 2110 Streams
How SDP Files Are Actually Loaded in Real 2110 Systems

SDP (Session Description Protocol) Basics for 2110 System Designers

SDP is the “contract” or configuration file that tells receivers exactly how to decode and process each ST 2110 stream. It is one of the most important elements in a 2110 system.

SDP ensures that receivers know the nature of all flows arriving through the IP port. SDP is a protocol that describes communications parameters for streaming media for the purpose of session announcement, session invitation, and parameter negotiation.

Allows end points to negotiate media type, format, and all associated properties, which is called a session profile. SDP provides the information between senders and receivers in multiple applications, and primarily for media applications, including mobile networks.

The control application acquires the desired stream’s SDP file in order to read the provided information description. The control system acquires the SDP file from the sender and sends it to the receiver. One SDP file is present for each flow. Typically the sender will have six (6) SDP files: one (1) for the video flow, four (4) for the audio flows and one (1) for the metadata flow.

To acquire the SDP file, the control system can use the UID to obtain the associated SDP files from the flows. The control system will then build the SDP table (which will include the SDP file information for each device) for each sender. Optionally the files for the receiver can be obtained also.

Video/audio/medatada are typically transported on the same physical network called the media network. Control can also be transported inside the media network -as in-band network- or it can be sent over a different network typically called control network.

It is the control system’s responsibility to maintain an up-to-date SDP. For example, if the format of the source of the encapsulator changes, the control system should implement a mechanism to obtain the new SDP from the encapsulator. Some senders will send a SAP message automatically if something has changed on the sender in order to readapt in consequence. SAP allows a constant update process between the two.

What a Design Engineer Must Know

Bottom Line   SDP file is often referred to as a "blueprint" rather than just a simple configuration file because it acts as a complete technical specification for the stream. It doesn’t just say “here’s the address:” it tells the receiver exactly how to interpret and process the incoming RTP packets.

1. Purpose of SDP in ST 2110

SDP tells the receiver:

sdp file fields

Bottom Line   Here is a breakdown of the standard fields found in an ST 2110 SDP file, based on the requirements defined in the ST 2110 suite.

Bottom Line   It should be noted here that in modern IP plants, SDPs are dynamically generated and distributed by control software (like NMOS IS-05), and manual entry is the primary cause of configuration drift and sync failures.

Basically the session-level fields set up the "environment" (who/what/where), while the media-level fields define the specific essence constraints (codec/sample rate/PTP sync).


2. Key SDP Elements Engineers Must Understand

3. Practical Setup & Usage Tips

How to Create an SDP File for ST 2110 Streams

An SDP (Session Description Protocol) file is a simple text file that acts as the “instruction manual” for a receiver. It tells the device how to decode and process a 2110 stream.

Basic Steps to Create an SDP File

  1. Use a text editor (Notepad++, VS Code, etc.)
  2. Follow the required structure
  3. Validate the file using tools like sdpoker, Wireshark, or an NMOS controller

Example SDP Files

1. ST 2110-20 Video (Uncompressed)

	v=0
	o=- 1234567890 1 IN IP4 192.168.1.100
	s=ST2110-20 Video Stream
	m=video 50000 RTP/AVP 96
	c=IN IP4 239.0.0.1
	a=rtpmap:96 raw/90000
	a=fmtp:96 sampling=YCbCr-4:2:2; width=1920; height=1080; depth=10; colorimetry=BT709
	a=ts-refclk:ptp=IEEE1588-2008:127
    

2. ST 2110-30 Audio

	v=0
	o=- 1234567890 1 IN IP4 192.168.1.100
	s=ST2110-30 Audio Stream
	m=audio 50010 RTP/AVP 97
	c=IN IP4 239.0.0.2
	a=rtpmap:97 L24/48000/2
	a=ptime:1
	a=fmtp:97 channel-order=standard
	a=ts-refclk:ptp=IEEE1588-2008:127
    

3. ST 2110-40 Ancillary Data (Captions)

	v=0
	o=- 1234567890 1 IN IP4 192.168.1.100
	s=ST2110-40 Ancillary Data
	m=application 50020 RTP/AVP 98
	c=IN IP4 239.0.0.3
	a=rtpmap:98 ancillary/90000
	a=fmtp:98 DID=0x61,SDID=0x01
	a=ts-refclk:ptp=IEEE1588-2008:127
    

Best Practices for Engineers

<
Tip:
Most modern 2110 systems use NMOS IS-05 to generate and exchange SDP files dynamically. Manual SDP creation is mainly used for testing and initial setup.

How SDP Files Are Actually Loaded in Real 2110 Systems

Depending on the device type (camera, PC, switch, multiviewer, etc.), SDP files are loaded in different ways. Here’s how it works in practice:

1. Cameras & Live Sources

2. PCs / Software Endpoints (e.g., vMix, OBS with plugins, FFmpeg, etc.)

3. Hardware Devices (Multiviewers, Recorders, Processors)

4. Network Switches / Routers

Modern Best Practice (Recommended)

Most professional 2110 facilities use NMOS (IS-04 + IS-05) for SDP handling:

Rule of Thumb:
For testing and small systems → manually load SDP files.
For real production systems → use NMOS IS-05 for automatic SDP delivery and routing.
Bottom Line for Designers:
SDP is the language that makes ST 2110 streams interoperable. A well-written SDP file is just as important as proper PTP timing and QoS. Always verify SDP correctness before expecting a receiver to successfully decode a stream.

 

UPDATED
5/26/26
V260526-1.0