Как установить параметры кодирования x264 через ffmpeg AVCodecContext

Я пытаюсь использовать ffmpeg/libx264 для кодирования и передачи видео в реальном времени, когда я использую ** av_dict_set (& opts, "tune", "zerolatency", 0); ** система работает хорошо. Поскольку параметры кодирования X264 устанавливаются ffmpeg с использованием av_dict_set, для некоторых исследовательских целей я хочу изменить их самостоятельно. Но некоторые параметры в x264_param_t могут не соответствовать этим параметрам в AVCodecContext, например vfr_input. Поэтому я хочу знать, существует ли прямой способ передачи параметров в кодировщик X264 при использовании libx264 в ffmpeg.


Может кто-нибудь мне помочь? Спасибо

1 ответ

Попробуйте позвонить av_opt_set с контекстом кодека priv_data состав:

AVCodec *codec = avcodec_find_encoder(AV_CODEC_ID_H264);
AVCodecContext *codecContex = avcodec_alloc_context3(codec);
av_opt_set(codecContex->priv_data, "preset", "ultrafast", 0);
av_opt_set(codecContex->priv_data, "tune", "zerolatency", 0);

Проверка ошибок опущена для краткости.

Другие вопросы по тегам