[MPlayer-users] -sb broken?
Ivan Kowalenko
ivan.kowalenko at gmail.com
Wed Aug 23 17:34:39 CEST 2006
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
On Aug 23, 2006, at 03.32, Marco Trudel wrote:
> RC wrote:
[snip]
>> You have to wait a few
>> seconds until mplayer hits the next keyframe, before it can output a
>> coherent picture.
>
> Ok, but that's no option because I am making screenshots, so I
> don't know when the image would be ok... And if -sb doesn't work on
> most videos anyway, it's even less an option :-)
> Is -sb broken or is there a problem with byte seeking that can't be
> solved? Why works -ss?
I'm not sure you're understanding the concept of a keyframe here. A
keyframe is an ENTIRE frame compressed. Following it are only parts
of frames, where vectors describe the motion they make. That why
you're getting your "noise" when you skip to a byte. It's not likely
that you'll be able to guess which byte is the BEGINNING of a
keyframe with much success. -ss works by seeking to second, not byte.
When you seek to byte, it's entirely possible you're only seeking for
part of a frame (like byte 67 of 123 for this particular frame). By
skipping seconds (which is a far more reliable way to skip through a
file, as skipping isn't dependent on framerate, audio bitrate, or
video bitrate, plus possible differences in container overheads) you
can reliably end up somewhere, and MPlayer can make sure it loads the
start of a frame.
I'm not sure why, precisely, MPlayer doesn't have the keyframe issue
in skipping by seconds, but my guess (and it's completely possible
that I'm wrong, I'm not totally up-to-date on my documentation) is
that MPlayer just seeks to the nearest keyframe, and plays from there.
> Is there maybe an option to start mplayer paused?
No.
> Something like "mplayer -noautoplay movie.mpg"?
Nope.
> "echo pause | mplayer -slave movie.mpg" will start in pause mode,
> but at least on my computer it will always play the first frame...
> I don't know if it will play more on other computers. Or is one
> frame fix?
Probably because you're using Windows. It probably won't work on any
*nix system, or with any Windows MPlayer binary not used in CygWin.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.1 (Darwin)
iD8DBQFE7HWSh/R/wkI6oPQRArEFAJ42VrkgTjXK2JKCGmMXplRdI/iLHgCfXv/n
4Mf/kH6HvOYz6Le4ctdJh2A=
=dGa3
-----END PGP SIGNATURE-----
More information about the MPlayer-users
mailing list