Skip to content

SDP settings files

SDP settings are specified in WCS core source code by default. To change defaults, the following files should be created in /usr/local/FlashphonerWebCallServer/conf directory.

WCS server restart required after the settings are changed.

flash_handler_publish.sdp

The settings file flash_handler_publish.sdp describes SDP for streams published from an RTMP client. By default, the following SDP configuration is used:

v=0
o=- 1988962254 1988962254 IN IP4 0.0.0.0
c=IN IP4 0.0.0.0
t=0 0
a=sdplang:en
m=video 0 RTP/AVP 119 127
a=rtpmap:119 H264/90000
a=fmtp:119 profile-level-id=42e01f;packetization-mode=1
a=rtpmap:127 FLV/90000
a=sendonly
m=audio 0 RTP/AVP 97 8 0 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 a=rtpmap:97 SPEEX/16000
a=rtpmap:8 PCMA/8000
a=rtpmap:0 PCMU/8000
a=rtpmap:102 mpeg4-generic/48000/1
a=rtpmap:103 mpeg4-generic/44100/1
a=rtpmap:104 mpeg4-generic/32000/1
a=rtpmap:105 mpeg4-generic/24000/1
a=rtpmap:106 mpeg4-generic/22050/1
a=rtpmap:107 mpeg4-generic/16000/1
a=rtpmap:108 mpeg4-generic/12000/1
a=rtpmap:109 mpeg4-generic/11025/1
a=rtpmap:110 mpeg4-generic/8000/1
a=rtpmap:111 mpeg4-generic/48000/2
a=rtpmap:112 mpeg4-generic/44100/2
a=rtpmap:113 mpeg4-generic/32000/2
a=rtpmap:114 mpeg4-generic/24000/2
a=rtpmap:115 mpeg4-generic/22050/2
a=rtpmap:116 mpeg4-generic/16000/2
a=rtpmap:117 mpeg4-generic/12000/2
a=rtpmap:118 mpeg4-generic/11025/2
a=rtpmap:119 mpeg4-generic/8000/2
a=sendonly

Note that changing this file allows to add or remove audio and video streams support only, but not to change codec used by publisher.

For example, if audio description is removed from flash_handler_publish.sdp file

v=0
o=- 1988962254 1988962254 IN IP4 0.0.0.0
c=IN IP4 0.0.0.0
t=0 0
a=sdplang:en
m=video 0 RTP/AVP 119 127
a=rtpmap:119 H264/90000
a=fmtp:119 profile-level-id=42e01f;packetization-mode=1
a=rtpmap:127 FLV/90000
a=sendonly

then a stream from RTMP encoder will be video only stream on WCS even if it si published as video+audio stream by a client.

flash_handler_play.sdp

The settings file flash_handler_play.sdp describes SDP for streams played on a Flash client. By default, the following SDP configuration is used:

v=0
o=- 1988962254 1988962254 IN IP4 0.0.0.0
c=IN IP4 0.0.0.0
t=0 0
a=sdplang:en
m=video 0 RTP/AVP 96
a=rtpmap:96 H264/90000
a=fmtp:96 profile-level-id=42e01f;packetization-mode=1
a=recvonly
m=audio 0 RTP/AVP 97 8 0 102 103 104 105 106 107 108 109 110
a=rtpmap:97 SPEEX/16000
a=rtpmap:8 PCMA/8000
a=rtpmap:0 PCMU/8000
a=rtpmap:102 mpeg4-generic/48000/1
a=rtpmap:103 mpeg4-generic/44100/1
a=rtpmap:104 mpeg4-generic/32000/1
a=rtpmap:105 mpeg4-generic/24000/1
a=rtpmap:106 mpeg4-generic/22050/1
a=rtpmap:107 mpeg4-generic/16000/1
a=rtpmap:108 mpeg4-generic/12000/1
a=rtpmap:109 mpeg4-generic/11025/1
a=rtpmap:110 mpeg4-generic/8000/1
a=recvonly

media_transponder.sdp

The settings file media_transponder.sdp dewscribes SDP for republishing of streams via RTMP on a third-party server. By default, the following SDP configuration is used:

v=0
o=- 1988962254 1988962254 IN IP4 0.0.0.0
c=IN IP4 0.0.0.0
t=0 0
a=sdplang:en
m=video 0 RTP/AVP 95 96
a=rtpmap:95 H264/90000
a=fmtp:95 profile-level-id=42e01f;packetization-mode=0
a=rtpmap:96 H264/90000
a=fmtp:96 profile-level-id=42e01f;packetization-mode=1
a=recvonly
m=audio 0 RTP/AVP 103 96 97 98 99 100 102 108 104
a=rtpmap:108 mpeg4-generic/48000/1
a=rtpmap:96 mpeg4-generic/8000/1
a=rtpmap:97 mpeg4-generic/11025/1
a=rtpmap:98 mpeg4-generic/12000/1
a=rtpmap:99 mpeg4-generic/16000/1
a=rtpmap:100 mpeg4-generic/22050/1
a=rtpmap:104 mpeg4-generic/24000/1
a=rtpmap:102 mpeg4-generic/32000/1
a=rtpmap:103 mpeg4-generic/44100/1
a=recvonly

rtmp_agent.sdp

The settings file rtmp_agent.sdp describes SDP to capture streams via RTMP from a third-party server. By default, the following SDP configuration is used:

v=0
o=- 1988962254 1988962254 IN IP4 0.0.0.0
c=IN IP4 0.0.0.0
t=0 0
a=sdplang:en
m=video 0 RTP/AVP 95
a=rtpmap:95 H264/90000
a=fmtp:95 profile-level-id=42e01f;packetization-mode=1
a=sendonly
m=audio 0 RTP/AVP 103 96 97 98 99 100 102 108 104
a=rtpmap:108 mpeg4-generic/48000/1
a=rtpmap:96 mpeg4-generic/8000/1
a=rtpmap:97 mpeg4-generic/11025/1
a=rtpmap:98 mpeg4-generic/12000/1
a=rtpmap:99 mpeg4-generic/16000/1
a=rtpmap:100 mpeg4-generic/22050/1
a=rtpmap:104 mpeg4-generic/24000/1
a=rtpmap:102 mpeg4-generic/32000/1
a=rtpmap:103 mpeg4-generic/44100/1
a=recvonly

rtsp_server.sdp

The file rtsp_server.sdp describes SDP used to playback streams published on WCS server as RTSP. By default, the following SDP configuration is used:

v=0
o=- 1988962254 1988962254 IN IP4 192.168.1.5
c=IN IP4 192.168.1.5
t=0 0
a=sdplang:en
a=range:npt=now-
a=control:*
m=audio 0 RTP/AVP 96
a=rtpmap:96 mpeg4-generic/48000/2
a=fmtp:96 profile-level-id=1;mode=AAC-hbr;sizelength=13;indexlength=3;indexDeltaLength=3
a=control:audio
m=video 0 RTP/AVP 119
a=rtpmap:119 H264/90000
a=fmtp:119 packetization-mode=1;profile-level-id=42e01f;
a=control:video

Where 192.168.1.5 is WCS server IP address defined in flashphoner.properties file

hls.sdp

Since build 5.2.575, the file hls.sdp describes SDP used to playback HLS streams. By default, the following SDP configuration is used:

v=0
o=- 1988962254 1988962254 IN IP4 0.0.0.0
c=IN IP4 0.0.0.0
t=0 0
a=sdplang:en
m=video 0 RTP/AVP 112
a=rtpmap:112 H264/90000
a=fmtp:112 packetization-mode=1; profile-level-id=420020
a=recvonly
m=audio 0 RTP/AVP 108 102 103
a=rtpmap:108 mpeg4-generic/48000/2
a=rtpmap:102 mpeg4-generic/32000/2
a=rtpmap:103 mpeg4-generic/44100/2
a=recvonly

Warning

Audio sample rates lower than 32000 Hz are not supported yet

mse.sdp

Since build 5.2.758 the file mse.sdp describes SDP settings for MSE stream playback. By default, the following settings are used:

v=0
o=- 1988962254 1988962254 IN IP4 0.0.0.0
c=IN IP4 0.0.0.0
t=0 0
a=sdplang:en
m=video 0 RTP/AVP 112
a=rtpmap:112 H264/90000
a=fmtp:112 packetization-mode=1; profile-level-id=420020
a=recvonly
m=audio 0 RTP/AVP 108 96 97 98 99 100 102 103 104
a=rtpmap:108 mpeg4-generic/48000/1
a=rtpmap:96 mpeg4-generic/8000/1
a=rtpmap:97 mpeg4-generic/11025/1
a=rtpmap:98 mpeg4-generic/12000/1
a=rtpmap:99 mpeg4-generic/16000/1
a=rtpmap:100 mpeg4-generic/22050/1
a=rtpmap:104 mpeg4-generic/24000/1
a=rtpmap:102 mpeg4-generic/32000/1
a=rtpmap:103 mpeg4-generic/44100/1
a=recvonly

mpegts_agent.sdp

Since build 5.2.1214 the file mpegts_agent.sdp describes SDP settings for MPEG-TS stream publishing. By default, the following settings are used:

v=0
o=- 1988962254 1988962254 IN IP4 0.0.0.0
c=IN IP4 0.0.0.0
t=0 0
a=sdplang:en
m=audio 1 RTP/AVP 102
a=rtpmap:102 mpeg4-generic/44100/2
a=sendonly
m=video 1 RTP/AVP 119
a=rtpmap:119 H264/90000
a=sendonly

Audio stream channels number configuration

According to RFC 4566, audio stream channels number can be omitted if one channel is used (mono). Since build 5.2.859, audio stream channels number can be omitted while describing custom SDP, in this case mono audio will be published or played

a=rtpmap:102 mpeg4-generic/48000
a=rtpmap:103 mpeg4-generic/44100

When it is not known if mono or stereo will be published, it is recommended to describe all the possible channel numbers setting an unique payload type to each

a=rtpmap:102 mpeg4-generic/44100/1
a=rtpmap:103 mpeg4-generic/44100/2
a=rtpmap:104 mpeg4-generic/48000/1
a=rtpmap:105 mpeg4-generic/48000/2

Publishing codecs negotiation

If a stream is published with a codec which is not in SDP settings (for example, SDP contains AAC stereo only, but AAC mono is published), the publishing will fail with No common codecs error.