[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