5

I am looking at the factor that allows software video players to seek at any (or close to) position in the video.

Is this the keyframes or what?

2 Answers 2

5

The problems with seeking are typically in the video player and not in the videos themselves, so you may want to look at different video player. A video player should be able to seek to any frame in the video, regardless of format and the encoder settings used. It is also technically possible to play any video backwards, even though very few players support this.

The problem is, seeking into frames that are not keyframes is difficult and CPU intensive. Frames that are encoded as keyframes can be decoded on their own, while non-keyframes depend on other frames to be decoded. If you are playing the movie left to right all the dependencies for a given frame have been already decoded, but if you are seeking directly into the frame, then the player needs to search for all those dependencies, decode them and only then it can decode the target frame.

So I think I can summarize my advice as two different suggestions:

  1. Switch to a player that can seek to any frame.

  2. if you can't switch to a better player, then encoding your video with more frequent keyframes will give you better seek accuracy, at the expense of picture quality (if you keep the bitrate the same) or file size (if you increase the bitrate to compensate).

Good luck.

3

Yes, that has to do with keyframes. Most players can only seek to a keyframe. Others will go to the prior keyframe and decode up to the point selected. Others will just play gibberish until the next keyframe. Having regular keyframes increases your file size, but also adds many more points a user can seek to in your video.

If you are referring to how to make your video more seekable for the web, that is a different problem. Video compression is typically not a constant bitrate which is why it is hard for a web-based player to guess the byte offset of a particular position in the video. Many web players allow sending a file of metadata that contains offsets to help with this problem.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.