Take the 2-minute tour ×
Video Production Stack Exchange is a question and answer site for engineers, producers, editors, and enthusiasts spanning the fields of video, and media creation. It's 100% free, no registration required.

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?

share|improve this question
add comment

2 Answers 2

up vote 2 down vote accepted

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.

share|improve this answer
add comment

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.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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