Estoy intentando que la función av_seek_frame() vaya a una posición de byte que especifico. Estoy implementando un mecanismo de búsqueda precisa de marcos para mi aplicación, y en la forma en que lo veo, escanearé todo el archivo de video y almacenaré las posiciones de bytes para cada fotograma clave en una estructura. Descubrí dónde obtener la posición de byte actual: AVPacket.pos. Ahora probar esta posición con av_seek_frame
así:problema: FFMPEG buscando con av_seek_frame utilizando posiciones de bytes
av_seek_frame(pFormatCtx, videoStream, 110285594, AVSEEK_FLAG_BYTE);
Sin embargo, esto no parece hacer lo correcto, cuando llamo av_read_frame
, que apenas comience con el marco 23. Si no busco, que empieza a las marco 1.
¿Es el problema porque está intentando buscar un marco que no es un marco clave? – dmazzoni
Hola Dmazzoni, no, me aseguré de que la posición fuera un Marco clave. Podría agregar que es un video h264. –