ffmpeg 中 av_opt_set 作用是设置编码参数
例:
const AVCodec *pCodec = avcodec_find_encoder(AV_CODEC_ID_H264); //264格式视频
AVCodecContext *pCodecCtx = avcodec_alloc_context3(pCodec);
av_opt_set(pCodecCtx->priv_data, "preset", "ultrafast", 0); //preset 预设值 速度慢 编码质量高
av_opt_set(pCodecCtx->priv_data, "tune", "fastdecode", 0); //tune 在上一个选项基础上进一步优化输入。如果定义了一个tune值,它将在preset之后,其它选项之前生效。
av_opt_set(pCodecCtx->priv_data, "profile", "baseline", 0); //默认:无
//说明:限制输出文件的profile。这个参数将覆盖其它所有值,此选项能保证输出profile兼容的视频流。如果使用了这个选项,将不能进行无损压缩(qp 0 or crf 0)。
//可选:baseline,main,high
//建议:不设置。除非解码环境只支持main或者baseline profile的解码。
上面为视频 264编码,编码含义参考地址:https://trac.ffmpeg.org/wiki/Encode/H.264