Thanks Ross,

Still one tiny bonus question / discussion, please.

I have never quite got the advantage of frame fragmentation, i.e. let's consider a large intra frame and the two cases:

1) Sending the intra frame as a single huge packet

2) Sending the intra frame as a series of smaller packets

The behaviour for the two cases in the case of packet loss:

1) The whole intra frame is lost, must wait for the next one

2) A one slice of the intra frame is lost .. making the whole intra-frame useless.
=> The whole intra frame is lost, must wait for the next one

So, the result in cases (1) and (2) is exactly the same.

Moreover, in a situation when there are packet bursts / "swarming" , like when working over a crowded wifi, and when the wifi station starts dropping packets .. the wifi router might actually decide to drop a small single packet (case (2)), rather than a huge (case (1)) packet (that might, for its size, seem to be more "important"). Of course, this depends on the software running on the router .. this is just a wild speculation.

Is method (2) advantageous because it is supposed to balance the overall network in a more efficient way, and for this reason, there should be no packet loss in the first place?

Regards,

Sampsa



On 23.09.2016 15:56, Ross Finlayson wrote:
The only logical way of making sense of all this is ..

UDP packets: max ~ 65 kB
Yes, in principle.  However, our code, by default, sets a maximum UDP packet size of 
about 1500 bytes.  (You can change this by calling 
"MultiFramedRTPSink::setPacketSizes()”, but you should do so only if you know 
for sure that you’re streaming only over networks that support large UDP packets.)

=> are assembled to .. => (this is done by live555)
NAL slices
Yes, that’s correct.  Note that the receiver must get *all* RTP/UDP packets 
that make up a NAL unit (e.g., slice); otherwise the whole NAL unit will be 
rejected/discarded.  That’s why - for streaming - it’s important to break large 
‘key frame’ NAL units into multiple slices.

=> are assembled to .. => (done by the encoder)
Complete frames, made of several NAL slices

Am I on the right track here .. ?
Exactly right!


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

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

Reply via email to