[MPlayer-users] Bug: Seek Fails at Telecine Boundary
Craig Milo Rogers
rogers at ISI.EDU
Mon Apr 21 13:53:50 CEST 2008
Using either MPlayer-1.0rc2 or the latest version from svn, a
seek (mplayer -ss secs) fails to perform properly if the mpeg file
being read contains a telecine block that the seek has to enter.
Here's some output; it contains a few additional debug writes I
added to assist me in figuring out what's happening. The subject
matter is part of Star Trek: The Motion Picture: The Director's
Edition. I originally noticed the problem when I tried to view this
movie using mplayer; outputting the frames as PNG files, as shown
below, was a change in operation I made for debugging purposes.
128% mplayer -ss 249.8 -frames 20 -vc mpeg12 -vo png:z=0 -ac null -ao null ../STARTREK/VIDEO_TS/VTS_02_2.VOB
MPlayer dev-SVN-r26481-4.2.1 (C) 2000-2008 MPlayer Team
CPU: AMD Athlon(tm) 64 Processor 3800+ (Family: 15, Model: 47, Stepping: 2)
CPUflags: MMX: 1 MMX2: 1 3DNow: 1 3DNow2: 1 SSE: 1 SSE2: 1
Compiled for x86 CPU with extensions: MMX MMX2 3DNow 3DNowEx SSE SSE2
mplayer: could not connect to socket
mplayer: No such file or directory
Failed to open LIRC support. You will not be able to use your remote control.
Playing ../STARTREK/VIDEO_TS/VTS_02_2.VOB.
MPEG-PS file format detected.
VIDEO: MPEG2 720x480 (aspect 3) 29.970 fps 9800.0 kbps (1225.0 kbyte/s)
==========================================================================
Forced video codec: mpeg12
Opening video decoder: [libmpeg2] MPEG 1/2 Video decoder libmpeg2-v0.4.0b
Selected video codec: [mpeg12] vfm: libmpeg2 (MPEG-1 or 2 (libmpeg2))
==========================================================================
==========================================================================
Forced audio codec: null
Cannot find codec for audio format 0x2000.
Read DOCS/HTML/en/codecs.html!
Audio: no sound
Starting playback...
Seeking 249.800000 seconds in mplayer.seek.
Seeking 249.800003 seconds in demuxer.demux_seek.
demuxer->desc->seek for mpegps
Seek complete in demuxer.demux_seek.
V: 0.0 0/ 0 ??% ??% ??,?% 0 0
Exiting... (End of file)
129%
No frames are written.
If I shorten the seek just a tiny amount, so it doesn't cross the
telecine boundary, here's what I get:
129% mplayer -ss 249.7 -frames 20 -vc mpeg12 -vo png:z=0 -ac null -ao null ../STARTREK/VIDEO_TS/VTS_02_2.VOB
MPlayer dev-SVN-r26481-4.2.1 (C) 2000-2008 MPlayer Team
CPU: AMD Athlon(tm) 64 Processor 3800+ (Family: 15, Model: 47, Stepping: 2)
CPUflags: MMX: 1 MMX2: 1 3DNow: 1 3DNow2: 1 SSE: 1 SSE2: 1
Compiled for x86 CPU with extensions: MMX MMX2 3DNow 3DNowEx SSE SSE2
mplayer: could not connect to socket
mplayer: No such file or directory
Failed to open LIRC support. You will not be able to use your remote control.
Playing ../STARTREK/VIDEO_TS/VTS_02_2.VOB.
MPEG-PS file format detected.
VIDEO: MPEG2 720x480 (aspect 3) 29.970 fps 9800.0 kbps (1225.0 kbyte/s)
==========================================================================
Forced video codec: mpeg12
Opening video decoder: [libmpeg2] MPEG 1/2 Video decoder libmpeg2-v0.4.0b
Selected video codec: [mpeg12] vfm: libmpeg2 (MPEG-1 or 2 (libmpeg2))
==========================================================================
==========================================================================
Forced audio codec: null
Cannot find codec for audio format 0x2000.
Read DOCS/HTML/en/codecs.html!
Audio: no sound
Starting playback...
Seeking 249.700000 seconds in mplayer.seek.
Seeking 249.699997 seconds in demuxer.demux_seek.
demuxer->desc->seek for mpegps
Seek complete in demuxer.demux_seek.
VDec: vo config request - 720 x 480 (preferred colorspace: Planar YV12)
Could not find matching colorspace - retrying with -vf scale...
Opening video filter: [scale]
VDec: using Planar YV12 as output csp (no 0)
Movie-Aspect is 1.78:1 - prescaling to correct movie aspect.
[swscaler @ 0xae0910]using unscaled yuv420p -> bgr24 special converter
VO: [png] 720x480 => 854x480 BGR 24-bit
[VO_PNG] Warning: compression level set to 0, compression disabled!
[VO_PNG] Info: Use -vo png:z=<n> to set compression level from 0 to 9.
[VO_PNG] Info: (0 = no compression, 1 = fastest, lowest - 9 best, slowest compression)
V: 29.4 14/ 11 ??% ??% ??,?% 0 0
demux_mpg: 24000/1001fps progressive NTSC content detected, switching framerate.
V: 29.8 25/ 22 6% 106% 0.0% 0 0
Exiting... (End of file)
130%
My 20 frames are written. Of course, I am unable to
synchronize the frames I just extracted (if I were to extract enough
of them to matter) to the audio track I extracted separately because
the telecine mode changes the frame rate... but that's probably the
subject for a feature request, not the present bug report.
Craig Milo Rogers
More information about the MPlayer-users
mailing list