You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When the playback begins or when you seek to a position, there's a very noticeable lag of a few hundreds of milliseconds. After jumping through several stack overflow questions and github issues and blog posts and what not, apparently this is because ExoPlayer (or rather any video player) needs to build the seeked frame from the previous key frame.
My question is, how do popular video players such as MX player have near instant playback on startup and on random seeks? What are they doing better than ExoPlayer? Is there a way to make ExoPlayer buffer faster?
This isn't a specific issue with some particular version or input file or codec or device, but exoplayer's performance on the whole seems a bit slower than the competition.
How to reproduce
Open a video in any popular android video players, e.g: MX Player, VLC etc. Now open the same file in a boilerplate surface (or SimpleExoPlayerView) backed by exoplayer. The buffering, controls, seek etc. nearly all operations are significantly slower than the "competition".
The text was updated successfully, but these errors were encountered:
My question is, how do popular video players such as MX player have near instant playback on startup and on random seeks? What are they doing better than ExoPlayer?
They are probably seeking to the nearest keyframe, rather than the nearest frame (i.e. less accurate, but faster).
Is there a way to make ExoPlayer buffer faster?
Work is actively underway to support keyframe accurate seeking in ExoPlayer, and is already functional in the dev-v2 branch when playing regular progressive media files. This work is being tracked in #2882, so closing this as a duplicate.
The issue
When the playback begins or when you seek to a position, there's a very noticeable lag of a few hundreds of milliseconds. After jumping through several stack overflow questions and github issues and blog posts and what not, apparently this is because ExoPlayer (or rather any video player) needs to build the seeked frame from the previous key frame.
My question is, how do popular video players such as MX player have near instant playback on startup and on random seeks? What are they doing better than ExoPlayer? Is there a way to make ExoPlayer buffer faster?
This isn't a specific issue with some particular version or input file or codec or device, but exoplayer's performance on the whole seems a bit slower than the competition.
How to reproduce
Open a video in any popular android video players, e.g: MX Player, VLC etc. Now open the same file in a boilerplate surface (or
SimpleExoPlayerView
) backed by exoplayer. The buffering, controls, seek etc. nearly all operations are significantly slower than the "competition".The text was updated successfully, but these errors were encountered: