我通过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“非常快”的预设?
答案 0 :(得分:8)
你必须创建一个字典,然后使用这个字典,打开编解码器时需要的所有参数!
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 );
答案 1 :(得分:6)
libavutil定义了av_opt_set()....您所要做的就是包含“libavutil / opt.h”然后:
av_opt_set(codecContext->priv_data, "preset", "veryfast", 0);