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