What is your CPU usage? Also what codec library are you using? I am not
familiar with mobile but that seems way too slow. In general phones should
have hardware acceleration for video, so try to use a hardware accelerated
codec instead of pure software.

On Thu, Oct 4, 2018 at 9:18 AM Corentin BRUNEAU <[email protected]>
wrote:

> Hello all,
> I’m using libav to write a C++ program that extracts frames from a video
> at a given timestamp.
> I’m a beginner in multimedia processing but I understood there are frames
> that can be decoded without using others (I frames) and frames the are
> dependent on others (P and B frames).
> Right now I use av_seek_frame() with the AVSEEK_FLAG_BACKWARD flag to seek
> to the previous closest keyframe frame and if it’s not the initially
> desired frame, I start decoding from the current frame toward the desired
> frame.
> The problem is I have a video in which the first and the second keyframes
> are separated by 8 seconds and if I seek the frame at the 6th second, the
> whole process of decoding every frame until I reach the desired frame takes
> 5 seconds (on an Android mid-range device) which seems too long to me.
>
> Is there any more optimized way to do this ?
>
> Best regards,
> Corentin Bruneau.
> _______________________________________________
> libav-api mailing list
> [email protected]
> https://lists.libav.org/mailman/listinfo/libav-api
_______________________________________________
libav-api mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-api

Reply via email to