[Udpcast] Content system

Alain Knaff alain at knaff.lu
Thu Sep 18 22:16:55 CEST 2008


Fernando Rodriguez wrote:
> Hello, i want to know if udpcast will be able to transmit different  
> files to different multicast addresses at the same time.

Yes, you can start several instances of udpcast simultaneously. You only
need to make sure that each instance uses a different port base (-P
parameter).

> Also if it is plausible to make a web interface to handle scheduling  
> of the files that are going to be sent over udpcast, so remote  
> recievers are able to get the files they where requested, this will be  
> like on demand content delivery.

You could make a cgi script that would start udpcast in the background
as requested.

> to do this all clocks from the remote sides have to be in sync with  
> the master content node, and the remote content node or client should  
> be able to parse a file to see the content that udpcast will transmit.

You could have one udpcast responsible for transmitting the
announcement, which would be saved to a file on the receiver, to be
parsed by the GUI frontend. Then, the actual content would be
transmitted by separate instances, either on-demand, or continuously as
a carousel.

> Also i need to know what is the best fec algorithm for one way  
> satellite comunicacion.

It all depends on the quality of the link, and the power of your
receivers. You want to play with the 3 parameters   stripes x redundancy
/ stripesize .

A higher ratio redundancy / stripesize can protect against higher loss
rates. However, it also makes the transmission larger.

Larger number of stripes protects against clustered losses (so, if your
link is likely to lose many packets in a row, use a high number of
stripes). However, a higher number of stripes leads to higher memory
requirements.

A bigger stripesize also helps against clustered losses, at the cost of
memory and computation time.

You need to play a little bit with the parameters to find the best fit
for your transmission link and receiver hardware.

The way it works is that each stripe is an independant FEC group. Each
stripe is made up of stripesize (n) data packets plus a number of
redundancy packets (k). As long as at least n packets are received (i.e.
less than k packets lost), no matter whether they are original data
packets, or redundancy packets, everything in the FEC group (stripe) can
be reconstructed.

During transmission, s stripes (FEC groups) are active simultaneously, a
packet of each being transmitted in a round-robin fashion (i.e. first a
packet of stripe 1, then one stripe 2, etc. until the last stripe is
reached, after which the second packet of stripe 1 will be transmitted).
This interleaving is meant to protect against clustered losses, so that
if for instance 10 packets in a row are lost, they won't all fall within
the same FEC group.

> 
> Fernando Rodriguez
> frod at aitelecom.net

Alain



More information about the Udpcast mailing list