我有一个使用 ffmpeg 作为后端的 C++ 工作图像编码器。我正在将视频输入并将帧保存为 jpeg,但我在调整输出 jpeg 的质量时遇到困难。
我尝试过的事情:
环境AVCodecContext
's global_quality
and compression_level
fields.
我也尝试过设置qscale
与AVDictionary
的选择,但也没有成功。
我知道这是可能的,因为通过命令行我可以
ffmpeg -i INPUT -q:v 2 output_frame_%02d.jpg
并获得更高质量的图像。
命令行-q
选项影响两件事
enc_ctx->flags |= AV_CODEC_FLAG_QSCALE;
enc_ctx->global_quality = FF_QP2LAMBDA * qscale;
其中 enc_ctx 是输出流的 AVCodecContext,FF_QP2LAMBDA 是 118
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)