Ffmpeg 您如何启用;“非常快”;使用libavcodec从代码中预设libx264? 我使用FBMPEG(在C++程序中)使用LIXX264,我需要知道如何激活“VelyFAST”预置。x264源代码树中的grep生成:

Ffmpeg 您如何启用;“非常快”;使用libavcodec从代码中预设libx264? 我使用FBMPEG(在C++程序中)使用LIXX264,我需要知道如何激活“VelyFAST”预置。x264源代码树中的grep生成:,ffmpeg,x264,Ffmpeg,X264,include/x264.h:static const char*const x264_preset_name[]={“超快”、“超快”、“极快”、“快”、“中”、“慢”、“慢”、“极速”、“极速”、“安慰剂”,0} 这使我倾向于相信x264本身支持这个预设,而不是仅仅在ffmpeg中作为其他设置的集合来实现。因此,问题是:如何让ffmpeg激活x264“veryfast”预设?libavutil定义av_opt_set()。。。。您只需包含“libavutil/opt.h”,然后: av_op

include/x264.h:static const char*const x264_preset_name[]={“超快”、“超快”、“极快”、“快”、“中”、“慢”、“慢”、“极速”、“极速”、“安慰剂”,0}


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

libavutil定义av_opt_set()。。。。您只需包含“libavutil/opt.h”,然后:

av_opt_set(codecContext->priv_data, "preset", "veryfast", 0);

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

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 );

我想知道哪一种是首选方法:av_opt_set()还是使用AVDictionary?av_dict_set()肯定更现代,所以我99%认为这是首选方法!所有使用AVDictionary的东西都被认为是现代的方式。