[Libav-user] how to set crf for vp8 encoder in ffmpeg programmatically?
mrfun.china at gmail.com
Mon May 20 11:35:36 CEST 2013
And I found that member variable crf has been removed from AVCodecContext,
so I assume that unless I add that back to AVCodecConetxt, using
av_option_set is the only way to set that.
2013/5/20 Hendrik Leppkes <h.leppkes at gmail.com>
> On Mon, May 20, 2013 at 10:23 AM, YIRAN LI <mrfun.china at gmail.com> wrote:
> > Hi guys,
> > I've downloaded latest libvpx code and built it into ffmpeg, so that my
> > application can use ffmpeg dlls.
> > Vp8 encoding works correctly and my application can generate webm videos.
> > But what I want to know is, how can I set crf when encoding?
> > What I do in my application is just calling ffmpeg interface
> > 1. AVStream* pVideoStream = av_new_stream(pFormatCtx, 0);
> > 2. AVCodec* pVideoCodec = avcodec_find_encoder(AVCODE_ID_VP8)
> > 3. AVCodecContext* pVideoCodecCtx = pVideoStream->codec;
> > pVideoCodexCtx->bit_rate =
> > ->rc_min_rate=
> > ->rc_max_rate= (set all these bit rate
> > param)
> > I checked libvpxenc.c under libavcodec and seems when initing the
> > it doesn't directly refer to any member
> > of AVCodecContext to set crf.
> > So could anyone tell me, how to set crf when open vp8 encoder
> > programmatically?
> > Great thanks!
> This should do it:
> av_opt_set_int(pVideoCodexCtx, "crf", 10, AV_OPT_SEARCH_CHILDREN)
> Libav-user mailing list
> Libav-user at ffmpeg.org
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Libav-user