[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