6

我正在通过 ffmpeg(在 C++ 程序中)使用 libx264,我需要知道如何激活“非常快”预设。x264 源代码树中的 grep 生成:

include/x264.h:static const char * const x264_preset_names[] = { “超快”、“超快”、“非常快”、“更快”、“快”、“中”、“慢”、“慢”、“非常慢” ", "安慰剂", 0 };

这让我倾向于相信 x264 本身支持这个预设,而不是仅仅在 ffmpeg 中作为其他设置的集合来实现。所以,问题是:如何让 ffmpeg 激活 x264“非常快”预设?

4

2 回答 2

9

您必须创建一个字典,然后在打开编解码器时将此字典与您需要的所有参数一起使用!

AVDictionary * codec_options( 0 );
av_dict_set( &codec_options, "preset", "veryfast", 0 );
// av_dict_set( &codec_options, "AnyCodecParameter", "Value", 0 );
avcodec_open2( codecContext, videoCodec, &codec_options );
于 2013-10-03T00:34:54.067 回答
6

libavutil 定义了 av_opt_set().... 您所要做的就是包含“libavutil/opt.h”,然后:

av_opt_set(codecContext->priv_data, "preset", "veryfast", 0);
于 2013-10-03T00:02:44.330 回答