[FFmpeg-devel] Live streaming of VP8

Andy Bell allbabel at gmail.com
Sun Jun 10 10:56:40 CEST 2012


On 9 Jun 2012 22:50, "James Zern" <jzern at google.com> wrote:
>
> On Sat, Jun 9, 2012 at 8:14 AM, Michael Niedermayer <michaelni at gmx.at>
wrote:
> > On Sat, Jun 09, 2012 at 04:51:23PM +0200, Andy Bell wrote:
> >> Hi All,
> >>
> >> I am streaming a VP8 stream over network and using the following code
to
> >> encode:
> >>
> >> _bitRate = 500 * 1000;
> >> _codecContext->bit_rate = _bitRate; // --target-bitrate=500
> >> _codecContext->rc_min_rate = _codecContext->rc_max_rate =
> >> _codecContext->bit_rate; // --end-usage=cbr
>
> Pairing vbr with realtime (quality=realtime/deadline=1) is probably a
> better choice for live encoding.

How do I set the above to reflect this?

>
> >>
> >> _codecContext->thread_count = 4;
> >> _codecContext->qmin = 4;
> >> _codecContext->qmax = 56;
> >> _codecContext->width = 800;
> >> _codecContext->height = 600;
> >> _codecContext->rc_buffer_aggressivity = 0.95;  // --undershoot-pct=95
> >> _codecContext->rc_buffer_size = _bitRate * 6; // --buz-sz=6000 ms
> >> _codecContext->rc_initial_buffer_occupancy = _bitRate * 4; //
> >> --buf-initial-sz=4000 ms
> >> _codecContext->profile = 3;
>
> You probably don't want to set this. It impacts decode complexity at
> the cost of encode quality.

I was hoping that this would reduce the decode times for low powered
devices.

>
> >> _codecContext->time_base.num = 1;
> >> _codecContext->time_base.den = 25;
> >> _codecContext->gop_size = 999999; // --kf-max-dist
> >>
> >> This works fine but when there is a huge scene change the codec
generates a
> >> key frame which I am having trouble transmitting in realtime over the
> >> network due to the sudden jump in bitrate.
> >
> > rc_buffer_size indicates a wanted max latency of 6 seconds
> > if you want it to be less you can use a smaller value
> >
>
> This will help overall bitrate spikes and as I mentioned on
> webm-discuss you might be looking for the max-intra-rate option. I've
> attached a patch to add this option.

Where can I find the patch?

Is there support in FFMPEG to force a key frame as there is in libvpx?

>
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel at ffmpeg.org
> http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>


More information about the ffmpeg-devel mailing list