[Live-devel] Stream to LAN: maximize Quality, minimize Latency

Ross Finlayson finlayson at live555.com
Sun Mar 7 20:34:44 PST 2010


>Right now i can stream mpeg-2 with ffmpeg settings
>
>float video_qscale = 1.0;
>vcodec->gop_size = 0;
>vcodec->flags |= CODEC_FLAG_QSCALE;
>v_codec->global_quality = _video_st->quality = FF_QP2LAMBDA * video_qscale;
>
>
>this should create only intraframes. As a receiver i use VLC 1.05 with
>reduced cache ( 200 ms )
>My results are: very good image quality but non-fluent playback.
>Every 1-2 seconds, there is a stutter/hang of 3-6 frames even
>when streaming from app to app at the same machine. Increasing VLC
>cache time does not change behaviour. Is it possible that there are
>non-continous timestamps somewhere?

I assume that you have a "MPEG1or2VideoStreamDiscreteFramer" object 
between your MPEG-2 encoder source object and your 
"MPEG1or2VideoRTPSink" object.  (You should, assuming that your 
encoder source object generates discrete video frames - one at a 
time.)

If (and only if) your stream contains "B" frames, then the resulting 
presentation times (coming out of the 
"MPEG1or2VideoStreamDiscreteFramer" object) will be non-monotonic, 
but this is normal, and expected (and will be handled properly by 
receiving clients - such as VLC).


>3) best receiver - can i get advantages over eg. VLC if i re-implement the
>receiver on my own?

This is unlikely; VLC is generally a well-written application.

-- 

Ross Finlayson
Live Networks, Inc.
http://www.live555.com/


More information about the live-devel mailing list