我通过ffmpeg(在C++程序中)使用libx264,我需要知道如何激活"非常快"的预设.x264源代码树中的grep产生:
include/x264.h:static const char*const x264_preset_names [] = {"ultrafast","superfast","veryfast","fast","fast","medium","slow","slow","veryslow" ","安慰剂",0};
这使我相信x264本身支持这个预设,而不是仅仅在ffmpeg中作为其他设置的集合实现.所以,问题是:如何让ffmpeg激活x264"非常快"预设?
你必须创建一个字典,然后使用这个字典,打开编解码器时需要的所有参数!
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 );
Run Code Online (Sandbox Code Playgroud)
libavutil定义了av_opt_set()....您所要做的就是包含"libavutil/opt.h"然后:
av_opt_set(codecContext->priv_data, "preset", "veryfast", 0);
Run Code Online (Sandbox Code Playgroud)