[Live-devel] live555 streaming TS over RTP/RTSP question

Ross Finlayson finlayson at live555.com
Sun Jan 16 14:42:49 PST 2011


>I've built a TS over RTSP streaming solution based on
>"MPEG2TransportFileServerMediaSubsession". The a/v codec types in my
>TS are MP4a and MP4v respectively. It plays back nicely in VLC player.
>However, my client (an Android 2.2 device with OpenCore based media
>player) doesn't support the RTP media type 33.

A standards-compliant RTP client should support the static payload 
types defined in RFC 3551, section 6 (including the static payload 
type 33, for MPEG Transport Stream "MP2T" data).  It should not be 
expecting that all streams are described using dynamic payload types 
only.  Therefore, please contact the authors of your client's 
software, asking them to fix their code so that it understands static 
RTP payload types (for the media types that it supports).


>After
>inspecting the network traffic, I realized the VLC demuxed my TS into
>MP4V-ES and MP4a, then used dynamic RTP media types for the a/v
>streams. My question is how I can do the same thing with Live555
>libraries?

Yes, you could do this by changing the implementation of 
"MPEG2TransportFileServerMediaSubsession::createNewRTPSink()" 
("liveMedia/MPEG2TransportFileServerMediaSubsession.cpp", line 220) 
to use the "rtpPayloadTypeIfDynamic" parameter, and to pass this - 
instead of 33 - to the call to "SimpleRTPSink::createNew()".

Note, however, that we will *not* be making this change in any future 
versions of our code.  The 'right' solution is to fix your client to 
understand static payload types.
-- 

Ross Finlayson
Live Networks, Inc.
http://www.live555.com/


More information about the live-devel mailing list