> 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/

_______________________________________________
live-devel mailing list
live-devel@lists.live555.com
http://lists.live555.com/mailman/listinfo/live-devel

Reply via email to