[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