次のコードを使用します。
AVDictionary *options = NULL;
AVCodec *codec = avcodec_find_encoder(AVCODEC_ID_VP8);
AVCodecContext *ctx = avcodec_alloc_context3(codec);
av_dict_set(&options, "option", "value", 0);
int res = avcodec_open2(ctx, codec, &options);
if (res < 0)
error();
while (..) {
res = avcodec_encode_video2(ctx, ..);
if (res < 0)
error();
}
avcodec_close(ctx);
avcodec_free_context(ctx);
関連する「オプション」/「値」のペアは、あなたが、例えばからVP8のエンコード・ガイドからになるだろう何でもありFFmpeg wiki。たとえば、使用、1 Mbpsの(ウィキでは第1例)のビットレートを設定するには:私が代わりにVP8のVP9を使用することをお勧めします
av_dict_set(&options, "b", "1M", 0);
av_dict_set_int(&options, "b", 1024 * 1024, 0);
または
、あなたは偉大な品質を得ることはありませんVP8を使用しますが、それは明らかにあなたの選択です。
ありがとう、これは私を助けてくれました。 –