I have a SimpleRTPSink that is fed a transport stream from MPEG2TransportStreamFramer. That transport stream contains one MPEG-4 video elementary stream plus one MPEG-1, Layer 3 stereo (2-channel) audio stream. When I call SimpleRTPSink::createNew(), what value should I use for the numChannels parameter?

When streamed over RTP, a MPEG Transport Stream - regardless of its actual contents - is described in SDP as being a "video" stream, and therefore the "numChannels" parameter is ignored, but should be set to 1.

See, for example, the code in "MPEG2TransportFileServerMediaSubsession.cpp":

return SimpleRTPSink::createNew(envir(), rtpGroupsock, 33, 90000, "video", "MP2T", 1, True, False /*no 'M' bit*/);

Note also that - for network efficiency - you should pack as much Transport Stream data as possible (but with a granularity of 188 bytes) into each RTP packet. Using the default MTU, this usually means 7*188 bytes of Transport Stream data per RTP packet.

See, for example, code in "MPEG2TransportFileServerMediaSubsession.cpp" (for streaming via unicast), or "testMPEG2TransportStreamer" (for streaming via multicast).
--

Ross Finlayson
Live Networks, Inc.
http://www.live555.com/
_______________________________________________
live-devel mailing list
[email protected]
http://lists.live555.com/mailman/listinfo/live-devel

Reply via email to