Из разных дней я безуспешно пытаюсь реализовать двухпроходную кодировку h264
в ffmpeg
.Я понимаю, что в первом проходе мне нужно создать текстовый файл со статистикой в stats_out
.Этот шаг реализован внутренне из ffmpeg
, поэтому мне нужно установить первый проход и получить данные в stats_out
, а после этого перейти к этапу 2.
Пока я пытаюсь активировать проход1 по-другому, добавив флаг в codecContext:
CodecCtx->flags |= AV_CODEC_FLAG_PASS1;
и / или установите параметр перед созданием контекста:
av_opt_set(CodecCtx, "pass", "1", 0);
, но в любом случае у меня тот же результат, stats_out всегда (null).
Также в ходе расследования я обнаружил, что FF_API_STATS_BIT
кажется устаревшим:
, если FF_API_STAT_BITS
/* statistics, used for 2-pass encoding */
attribute_deprecated
int mv_bits;
attribute_deprecated
int header_bits;
attribute_deprecated
int i_tex_bits;
attribute_deprecated
int p_tex_bits;
attribute_deprecated
int i_count;
attribute_deprecated
int p_count;
attribute_deprecated
int skip_count;
attribute_deprecated
int misc_bits;
/** @deprecated this field is unused */
attribute_deprecated
int frame_bits;
endif
Итак, я немного двусмыслен относительно того, как реализовать этот процесс, и соответствующие посты слишком старые и не очень полезные.
Есть кто-нибудь, кто имел опыт?