[Live-devel] Raw-UDP streaming

Warren Young warren at etr-usa.com
Tue Mar 29 15:05:03 PDT 2011


On 3/28/2011 10:38 AM, Diogo Andrade wrote:
>
> how to modify this
> behavior so it will freeze the frame instead of stopping the streaming

The muxer is expecting a constant stream of data, because digital cable 
TV (QAM) is a CBR system.  Ideally, a QAM muxer wants CBR streams.  Your 
particular muxer may have some limited ability to cope with VBR codecs 
by padding its output, but that doesn't extend quite to the point of 
handling 0 bps gracefully.

For the muxer to do that, it would have to be decoding the video on the 
fly, then when it sees the video stream disappear, it would have to 
start re-encoding the last frame at the same bit rate it used to get 
from the stream and sending that out instead.

Surely it is clear to you already that this would be a very stupid way 
to design a muxer.  Adding real-time decoding and re-encoding would 
increase its cost quite a lot.

I point it out despite this hope that it is already obvious to you 
because the next step is to start tracing things back up the stack to 
find a piece that *could* do such a thing.

That next step is Live555.  Do you see MPEG decoding and encoding in the 
library?  No?  So, not on topic here, yes?

One possible way to get the behavior you ask for is at your encoder. 
Instead of telling Live555 to pause the stream, you should be asking 
your encoder to freeze-frame.

If you are trying to build DVR-like functionality where un-pausing the 
stream resumes it at the pause point instead of re-joining the live 
stream, you need to build a layer between Live555 and the encoder which 
does the store-and-forward.  But this is also not on-topic here.


More information about the live-devel mailing list