[Live-devel] Potential enhancement for SAP/SDP parser

John Senior johns at vbrick.com
Tue May 7 15:24:00 PDT 2013


Hello live555 Support,

I work for VBrick Systems and VLC is popular with our streaming appliance customers.  We've received several requests to make VBrick's H.264 live streaming appliance SAPs compatible with the VLC SAP listener. (VBrick MPEG-2 and Windows Media streaming appliance SAPs are already compatible with VLC.) Our experiments show that one line in our H.264 SAP is causing the trouble -- the time description line, or "t=0,0".
This is an example of our H.264 SAP message that will not appear on the VLC playlist:

v=0
o=- 0000000000 1 IN IP4 172.22.113.64
s=JohnS-7000 Program 1
i=VBrick Streaming Video
c=IN IP4 239.22.113.66/63
b=AS:8102
a=packetsize:1452
a=packetformat:RAW
a=mux:m2t
a=author:My Author
a=copyright:My Copyright
a=X-StreamID:T2
a=tool:VBrick 3.0.0
t=0,0
m=video 4444 udp 33
a=X-H264_TTSVidV1
m=audio 4444 udp 36
a=X-H264_TTSAudV1

But our experiments show that just a minor modification to move the t=0,0 line above the attribute lines will get it to appear on the VLC playlist, like this:

v=0
o=- 0000000000 1 IN IP4 172.22.113.64
s=JohnS-7000 Program 1
i=VBrick Streaming Video
c=IN IP4 239.22.113.66/63
b=AS:8102
t=0,0
a=packetsize:1452
a=packetformat:RAW
a=mux:m2t
a=author:My Author
a=copyright:My Copyright
a=X-StreamID:T2
a=tool:VBrick 3.0.0
m=video 4444 udp 33
a=X-H264_TTSVidV1
m=audio 4444 udp 36
a=X-H264_TTSAudV1

The VLC SAP configuration options "Try to parse the announce" and "SAP Strict mode" do not seem to affect VLC's behavior with our H.264 SAPs.

Unfortunately, we are reluctant to change this on our side because we deliberately moved the "t=0,0" line in our newer H.264 appliances (as compared to our older MPEG-2 appliances) to achieve better alignment with Section 5 of RFC 4566:

 Some lines in each description are REQUIRED and some are OPTIONAL,
 but all MUST appear in exactly the order given here (the fixed order
 greatly enhances error detection and allows for a simple parser).
 OPTIONAL items are marked with a "*".
 Session description
 v= (protocol version)
 o= (originator and session identifier)
 s= (session name)
 i=* (session information)
 u=* (URI of description)
 e=* (email address)
 p=* (phone number)
 c=* (connection information -- not required if included in
 all media)
 b=* (zero or more bandwidth information lines)
 One or more time descriptions ("t=" and "r=" lines; see below)
 z=* (time zone adjustments)
 k=* (encryption key)
 a=* (zero or more session attribute lines)
 Zero or more media descriptions

 Time description
 t= (time the session is active)
 r=* (zero or more repeat times)

 Media description, if present
 m= (media name and transport address)
 i=* (media title)
 c=* (connection information -- optional if included at
 session level)
 b=* (zero or more bandwidth information lines)
 k=* (encryption key)
 a=* (zero or more media attribute lines)

I posted this information to the VLC developer forum and I was told that in this case the SAP/SDP parsing is being handled by the live555 library that in integrated with VLC. (VLC version is 2.0.6)  Would the live555 supporters consider enhancing their SAP/SDP parser to be more flexible and more compatible with RFC 4566?

Thanks for your help.

Regards,

- John

John Senior  |  VP of Systems Engineering  |  VBrick Systems, Inc.  |  203-303-0117  |  johns at vbrick.com<mailto:johns at vbrick.com>








More information about the live-devel mailing list