[MPlayer-users] Seek in FullHD Movies

Phil Rhodes phil_rhodes at rocketmail.com
Mon Mar 14 12:33:58 CET 2011


> i am using mplayer in slave mode. While playing a SD movie when i use  
> the "seek <seconds> 2", it works perfect and seeks to the exact  
> position. But, while playing a FullHD Movie (H.264) when use the same  
> seek command, it seeks to a position lot before the desired one.

This may just be down to how the file was encoded - I've seen this myself.  
My guess was, and it is just a guess, that it's seeking to the nearest  
keyframe that occurs before the requested seek point. If your file is  
encoded with very infrequent keyframes, it's unlikely that there will be  
one exactly at the point you asked to seek to. The only alternative,  
technically speaking, would be for mplayer to seek exactly to the point  
you requested and give you a rather corrupted image, or to attempt to  
decode the video stream from the previous keyframe up until the point you  
requested, which could make seeking take a very long time.

The file may be encoded with infrequent keyframes because either this was  
directly specified by the person who encoded it, or because there is very  
little change in the image and an automated encoder chose not to use many  
keyframes. This issue is the reason video editing usually uses compression  
techniques which don't use the similarity between frames to compress data.  
You could, of course, decompress the entire video and store it in an  
uncompressed format, which would eat a lot of hard disk space but would  
solve the problem without compromising IQ, or you could reencode it to a  
format with more keyframes, or an I-frame format comprising entirely  
keyframes, at which point you'd be able to prove that this was the  
problem, and seek quickly to any frame in the file. Reencoding it will of  
course cost you quality.

P


More information about the MPlayer-users mailing list