SDP file

From SpinetiX Support Wiki

Jump to: navigation, search

This page is related to the Streaming page.

Introduction

The Session Description Protocol (SDP) is a format for describing the initialization parameters of streaming media sessions. SDP does not deliver media itself but is used for negotiation between end points of media type, format, and all associated properties.

To connect to a streaming server sending an MPEG2 transport stream, you don't usually have to use an SDP file since it's more convenient to use direct pseudo-URIs like:

  • rtp://{Streaming_Server_IP}:{Port}
  • udp://{Streaming_Server_IP}:{Port}

Nevertheless, when more control over the parameters of the stream are required, an SDP description file may be used instead. The SDP file can be located on the HMP or on a remote server. To include an SDP file inside your project, set the URI of a media layer to:

  • my_sdp_file.sdp (if the SDP file is located into the root of your project) or
  • http://my_server/my_sdp_file.sdp (if the SDP file is located on a remote server).

The following are supported:

  • SDP that refers to an MPEG2TS via RTP or UDP (all valid codecs for use in an MPEG-2 TS are supported: MPEG 1/2/4/H264);
  • SDP that refers to a raw bitstream of MPEG 1/2/4/H264.

See also the supported attributes section for ways to overwrite the HMP default behaviour.

SDP file syntax

A session is described by a series of <character>=<value> fields (one per line), where <character> is a single case-significant character and <value> is structured text whose format depends upon the first one. For more details about this subject, see Session description section on the Wikipedia site.

Sample:

v=0
o=- 1 1 IN IP4 <your.domain.name>
s=Anonymous
c=IN IP4 <streaming_server_ip>
t=0 0
m=video <streaming_port> <streaming_format> 33

where:

  • <streaming_server_ip> is usually a multicast address (for instance 239.192.1.21).
  • <streaming_port> should be above 1024 (for instance 5000).
  • <streaming_format> is either UDP (or direct streaming over UDP) or RTP/AVP (for a transport stream inside RTP packets).

Supported attributes

The following session attributes are supported by the HMP:

  • a=audioPid:<audio_pid>
    Selection of the audio PID.
  • a=program:<program_number>
    Selection of the program number
  • a=videoPid:<video_pid>
    Selection of the video PID.

Notes:

  • To find out the possible values for <program_number>, <videoPid> and / or <audioPid>, first connect to the streaming server without specifying any attribute and then open the resources.log to retrieve the values returned by the streaming server.
  • The audioPid and videoPid attributes were introduced in firmware version 2.2.5 to replace the deprecated exterityVideoPid and exterityAudioPid attributes (which are no longer supported).
This page was last modified on 17 August 2014, at 18:58.