I want to make a server that will stream from a single source to
multiple unicast clients and at least one multicast address. To
further complicate matters I believe it will need to support ASM (I
haven't been able to convince Quicktime to supports SSM).
Before I go too far down the wrong path I thought I'd pose the
problem to the mailing list for any suggestions.
I see three options:
1. Use two different server sessions one for unicast (OnDemand based
subsession) and a separate session for multicast (Passive based
subsession)
This is by far the best solution, because it doesn't require messing
around with the existing RTSP/RTP implementation - which works well
as is. The RTSP protocol works differently for unicast and multicast
streams, and I definitely don't recommend trying to hack the unicast
implementation to support multicast, or vice versa.
then feed them from a single FramedSource.
No, each would need to read from a different "FramedSource" (because
the implementation of "FramedSource" does not allow more than one
object to read from a single "FramedSource").
However, is your input source accessible as a file (e.g., in /dev/)?
If so, then you could probably just create two separate
"ByteStreamFileSource" objects, each reading from this file.
If, however, your input source is not accessible as a file, then you
would need to
1/ Write a class (which would *not* be a "FramedSource"
subclass to encapsulate it), and
2/ Write a FramedSource subclass that encapsulates a single
copy of data from the source.
This is nontrivial, but you could use the existing "MPEG1or2Demux"
and "MPEG1or2DemuxedElementaryStream" code as a model, because this
does something similar.
This has complications in the design of the FramedSource
Yes, but that's much simpler than hacking with the RTSP/RTP code.
and it duplicates the RTP framing and buffering.
That really doesn't matter at all. You just create two "RTPSink"
(subclass) objects instead of one.
--
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