Я пытаюсь заставить функцию av_seek_frame() перейти к заданной позиции байта. Я реализую механизм поиска кадров для моего приложения и способ, которым я его вижу, сканирую весь видеофайл и сохраняю позиции байтов для каждого ключевого кадра в структуре. Я узнал, где получить текущую позицию байта: AVPacket.pos. Теперь я тестирую эту позицию с помощью av_seek_frame
следующим образом:
av_seek_frame( pFormatCtx, videoStream, 110285594, AVSEEK_FLAG_BYTE);
Однако, похоже, что это не так, когда я вызываю av_read_frame
, он начинается с кадра 23. Если я не ищу, он начинается с кадра 1.