> 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
[email protected]
http://lists.live555.com/mailman/listinfo/live-devel