[Live-devel] MPEGTS encapsulation

Ross Finlayson finlayson at live555.com
Thu May 14 09:01:16 PDT 2015


> I'm interested in creating an RTSP server around this MPEGTS stream. To be clear, my data source provides some amount encoded MPEGTS packets. Should I simply write my packetized data to a `DeviceSource` implementation, or do I need to subclass MPEGTransportStreamFramer or something else? It's a little unclear if I need a `filter` or a `framer` in this case.

Is your MPEG TS stream accessible as a named file (e.g., under “/dev”), or via a named pipe?  If so, then you can probably use the existing “testOnDemandRTSPServer.cpp” code as a model for your server, by changing “test.ts” to the name of your device or pipe.  You should also change “reuseFirstSource” to True; see
	http://live555.com/liveMedia/faq.html#liveInput-unicast <http://live555.com/liveMedia/faq.html#liveInput-unicast>

If, however, your MPEG TS stream is not accessible as a file (or via a named pipe), then you will have to write your own “FramedSource’ subclass (possibly based on the “DeviceSource” model code), and your own subclass of “OnDemandServerMediaSubsession”.  This is also described in the FAQ entry.  One more thing to be aware of: Because Transport Stream ‘packets’ are so small (188 bytes), you may want to aggregate them before delivering them.  Usually, people deliver chunks of 7 Transport Stream ‘packets’ at a time (to ensure that the resulting RTP packet will fit within a typical 1500-byte MTU).


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

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.live555.com/pipermail/live-devel/attachments/20150514/9ac47d6a/attachment.html>


More information about the live-devel mailing list