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