Я использую ffmpeg для декодирования видеофайла на C. Я изо всех сил пытаюсь получить либо счетчик текущего кадра, который я декодирую, либо временную метку кадра. Я прочитал множество сообщений, в которых показано, как рассчитать приблизительный номер кадра на основе кадров в секунду и временной метки кадра, однако я не могу получить ни одно из них.
Что мне нужно: частота кадров видеофайла, временная метка текущего кадра или номер кадра (не рассчитывается)
Что у меня есть: я могу получить время видео с помощью
pFormatCtx->duration/AV_TIME_BASE
Я считаю кадры в данный момент поскольку я обрабатываю их и получаю текущее количество кадров, это не сработает в долгосрочной перспективе. Я могу получить общее количество кадров для файла, используя
pFormatCtx->streams[currentStream->videoStream]->nb_frames
. Я читал, что это может не работать для всех потоков, хотя это работало для каждого потока, который я пробовал.
Я пробовал использовать значения time_base.num и time_base.den и packet.pts, но я не могу понять значения, которые я получаю от них, поэтому мне просто нужно лучше понять, что это за значения. являются.
Кто-нибудь знает ресурсы, которые показывают примеры того, как получить эти значения?