[MPlayer-users] MPlayer-users Digest, Vol 65, Issue 31 - SEEK Problem by keyframes - other way

Zuzu Corneliu corneliuzuzu at yahoo.com
Tue May 19 18:02:11 CEST 2009


QUESTION:
                 Message: 3
                 Date: Tue, 19 May 2009 03:16:36 -0700 (PDT)
                 From: Zuzu Corneliu <corneliuzuzu at yahoo.com>
                 Subject: [MPlayer-users] SEEK Bug report
                 To: mplayer-users at mplayerhq.hu
                 Message-ID: <927496.35171.qm at web45006.mail.sp1.yahoo.com>
                 Content-Type: text/plain; charset=us-ascii

                 Hi...I need urgent response to this bug....
                 THE SEEK FUNCTION DOESN'T WORK PROPERLY
                 This happens for ANY movie - the player is the problem - for instance - when I run command in cmd:
                 "D:\MPLAYER\MPlayer for Windows\MPlayer.exe" "E:\Movies\Stone of Destiny\Stardust.DVDRip.XviD-DiAMOND\dmd-                           stardust-cd2..avi" -ss 3
                 , the player doesn't seek to 3 seconds, instead it seeks to 7 => 4 seconds delay....I need the player to SEEK EXACTLY, and it's                    urgent

                 This happens to ANY movie - test it yourself, more - the seek mistakes not just for the 3 seconds positioning, but in lots of cases                  - for instance if I want to seek to 45 seconds, in goes to 49...I really need an EXACT seek function
                 If you could help me, please reply!
                 Thanks a lot in advance!

ANSWER:
      
                 It is not possible seeking to an exact position if at this position
                 isn't a keyframe. Seeking can only be performed to a keyframe, a
                 different approach would be -- and this would have to be implemented and
                 is not done by inserting one line or two -- to seek to the nearest
                 previous keyframe and decode all frames until the desired position is found.

                 If you use DVDs, there are much more frequent keyframes (IIRC one every
                 2 or 3 seconds, but I might be mistaken on that), while on divx and
                 other codecs keyframes can occur every 10 seconds or even less, which
                 means you only can seek with a very low precision.

                 If you need exact positioning on a per second basis, you'd have to
                 reencode the video with keyframes every second. This of course requires
                 more bandwidth, as keyframes take up much more frames than the frames in
                 between.
*******************************************
MESSAGE: Hi Alex - thanks for answering my question...but I have smth else to ask you....
                I also have VLC player from VideoLan, and the seek function for the player works PERFECTLY
                When I seek to 3 seconds, it seeks to 3, not to 7, and that for the same movie(s).....
                WHAT IS THE DIFFERENCE? THE SEEK FUNCTION IS NOT MADE BY KEYFRAMES ALSO?
                
                VLC is also OPENSOURCE, so I would be more than glad if you could solve the problem
                by looking at their source-code...if you would solve this problem MPlayer would work PERFECTLY
                Believe me, I've tried VLC, which has problems at the Play, Pause, Stop functions, and the correspondent MPlayer
                functions don't have ANY problem - instead MPlayer's seek function doesn't compare to the VLC one - it's like they would 
                have to repair dozens of functions to make VLC perfect, but you would have to repair just ONE, and MPlayer could be the perfect
                player - personally I haven't yet detected any other issues for Mplayer (excluding DVD Menus), so this is the ONLY problem
                which I noticed, and in my opinion it's a big one - the seek function is one of the FUNDAMENTAL functions for video playing....
Thanks again Alex, waiting for a response
Hope you could solve this till friday ...
Thanks again in advance


      


More information about the MPlayer-users mailing list