Opened 16 years ago

Last modified 14 years ago

#1228 closed defect (worksforme)

usage of sstep produces no videooutput for m2v, mpeg4 (by ffmpeg) and dvds after update

Reported by: mail@… Owned by: reimar
Priority: normal Component: core
Version: HEAD Severity: major
Keywords: Cc: compn, mennucc1@…, mail@…, reinhard.fobbe@…
Blocked By: Blocking:
Reproduced by developer: no Analyzed by developer: no

Description

When I use -sstep to make a fast cropdetection of a m2v-file or a dvd (in a directory), there are no crop-lines written to the console. This worked with an older Version (MPlayer dev-SVN-r25315). Even without cropdetection there is no picture (of the video) just a black border with a rectangular area in the center where the video should be, but there is only the non-updated rest of the console to see. For dvd-directory at least the sound works (you hear the "fastforward-snippets"). Without -sstep everything works just fine.
For mkv-files it works with -sstep.

I'm using Debian Lenny with multimedia-packages from http://www.debian-multimedia.org, but also tried the svn-snapshot.

Here a short summary of what worked and what not (with -sstep):
MPlayer dev-SVN-r27408-4.3.1 with m2v-file: doesn't work (output below)
MPlayer dev-SVN-r27408-4.3.1 with dvd-directory: doesn't work (no video, no cropdetection, but sound)
MPlayer dev-SVN-r27408-4.3.1 with mkv-file: does work
MPlayer dev-SVN-r26940 with m2v-file: doesn't work
MPlayer dev-SVN-r26940 with dvd-directory: doesn't work (no video, no cropdetection, but sound)
MPlayer dev-SVN-r26940 with mkv-file: does work
MPlayer dev-SVN-r25315: I can't try anymore, because of lib-problems, but my dvd-convert-script, worked with this version and used the cropdetection with sstep for m2v-files. That's how I realized the problem.

Here is the try for SVN-snapshot from 2008-08-04 (today), I pressed "q" after a few seconds:

$ ~/install/mplayer/mplayer-checkout-2008-08-04/mplayer video.m2v -sstep 1
MPlayer dev-SVN-r27408-4.3.1 (C) 2000-2008 MPlayer Team
CPU: Intel(R) Core(TM)2 Quad CPU Q6600 @ 2.40GHz (Family: 6, Model: 15, Stepping: 11)
CPUflags: MMX: 1 MMX2: 1 3DNow: 0 3DNow2: 0 SSE: 1 SSE2: 1
Compiled for x86 CPU with extensions: MMX MMX2 SSE SSE2

Playing video.m2v.
Cache fill: 1.60% (335872 bytes)
MPEG-ES file format detected.
VIDEO: MPEG2 720x576 (aspect 3) 25.000 fps 8400.0 kbps (1050.0 kbyte/s)
==========================================================================
Opening video decoder: [mpegpes] MPEG 1/2 Video passthrough
VDec: vo config request - 720 x 576 (preferred colorspace: Mpeg PES)
Could not find matching colorspace - retrying with -vf scale...
Opening video filter: [scale]
The selected video_out device is incompatible with this codec.
Try appending the scale filter to your filter list,
e.g. -vf spp,scale instead of -vf spp.
VDecoder init failed :(
Opening video decoder: [ffmpeg] FFmpeg's libavcodec codec family
Selected video codec: [ffmpeg2] vfm: ffmpeg (FFmpeg MPEG-2)
==========================================================================
Audio: no sound
Starting playback...
VDec: vo config request - 720 x 576 (preferred colorspace: Planar YV12)
VDec: using Planar YV12 as output csp (no 0)
Movie-Aspect is 1.78:1 - prescaling to correct movie aspect.
VO: [x11] 720x576 => 1024x576 Planar YV12 [fs]
[swscaler @ 0x8847f80]using unscaled yuv420p -> rgb32 special converter
[mpeg2video @ 0x885f290]ac-tex damaged at 25 7
[mpeg2video @ 0x885f290]Warning MVs not available
[mpeg2video @ 0x885f290]concealing 1305 DC, 1305 AC, 1305 MV errors
V: 0.0 70/ 70 ??% ??% ??,?% 0 0 36%
Exiting... (Quit)

Attachments (2)

Hustle.log (2.5 KB ) - added by mennucc1@… 15 years ago.
mplayer -vf cropdetect -endpos 120 -vo null -nosound -sstep 10 -quiet -identify /data4/tv/*Hustle.avi
Willow.log (1.9 KB ) - added by mennucc1@… 15 years ago.
mplayer -vf cropdetect -endpos 120 -vo null -nosound -sstep 10 -quiet -identify /data4/tv/A*/*Will*avi

Download all attachments as: .zip

Change History (11)

comment:1 by mail@…, 16 years ago

Cc: mail@… added

comment:2 by compn, 16 years ago

workaround:
use -vfm libmpeg2 or
-sstep 3 -demuxer lavf also works.

ffmpeg12 seems to be broke with -sstep and mplayer demuxer

comment:3 by mennucc1@…, 15 years ago

Cc: mennucc1@… added
Summary: usage of sstep produces no videooutput for m2v and dvds after updateusage of sstep produces no videooutput for m2v, mpeg4 (by ffmpeg) and dvds after update

hi Reimar, I just found out about this bug myself. The bug is biting me, and some other people, for this reason following.

Some time ago (~1 year) I prepared a snippet of code for freevo , that nowadays sits inside the reencoding service: when you ask freevo to reencode a video (e.g. a TV DVB-T/S show, to reduce size and bitrate), the freevo 'encodingserver' tries to detect cropping; the command to do that is

'mplayer -vf cropdetect -vo null -nosound -benchmark -sstep S video'

where S was prepared so as to get ~20 frames at reasonable spacing in the video, so as to be fast but also to sample around the video to get good cropping parameters. At the time I wrote that code, it worked as a charm.

But in the recent past I realized that on all TV shows that I am recording , cropping was never done... for some time I thought that this was due to commercials, that are not letterboxed, and foul the crop detection; but after a lot of fiddling around, I found out that actually 'mplayer -sstep S' is broken; if I use it on any video in my freevo box, no frames are output on screen (as reported in this bug). Those videos are MPEG files from DVB-T, and MPEG snippets from DVDs as well as AVI files containing MPEG4 generated with '-ovc lavc'.

All above just to say that this bug is annoying me, I hope Reimar can fix it; the best fix IMHO is that mplayer should wait and be sure to output at least one frame before each sstep jump is performed.

comment:4 by mennucc1@…, 15 years ago

hi, I also changed the title to reflect the fact that -sstep fails on some AVI files generated by MEncoder; but not on all files.

The base command in the following is
M="mplayer -vf cropdetect -endpos 120 -vo null -nosound -sstep 10 -quiet -identify"

The command "$M Hustle.avi" works. See attachment hustle.log

The command "$M Willow.avi" does not report any crop info. See attachment willow.log

The main difference is that the former reports ID_DEMUXER=lavf , the latter ID_DEMUXER=avi

This is sensible since compn allready proposed to use '-demuxer lavf' as a workaround.

But it is also weird because both files were created using MEncoder (although, the first in March 2008, the latter October 2008)

by mennucc1@…, 15 years ago

Attachment: Hustle.log added

mplayer -vf cropdetect -endpos 120 -vo null -nosound -sstep 10 -quiet -identify /data4/tv/*Hustle.avi

comment:5 by mennucc1@…, 15 years ago

by mennucc1@…, 15 years ago

Attachment: Willow.log added

mplayer -vf cropdetect -endpos 120 -vo null -nosound -sstep 10 -quiet -identify /data4/tv/A*/*Will*avi

comment:6 by mennucc1@…, 15 years ago

comment:7 by compn, 15 years ago

Cc: reinhard.fobbe@… added

* Bug 1481 has been marked as a duplicate of this bug. *

comment:8 by compn, 14 years ago

Resolution: worksforme
Status: newclosed, patriotact@gmail.com

seems this is working for me with mpeg1/mpeg2 video. not sure what changed.

anyone confirm? if not, reopen this bug.

comment:9 by mennucc1@…, 14 years ago

hi, the problem seems solved

When using SVN-r31044 , the command
# mplayer -vf cropdetect -vo null -sstep 10 -nosound -quiet
does show cropdetect info; I tried it on H.264 and MPEG-4 encoded AVIs , and on MPEG-TS (as dumped from DVB-T by dvbstreamer)

the problem instead is present in 1.0rc3-4.4.4 (the version in Debian/squeeze).Alas.

I'd close this report.

a.

Note: See TracTickets for help on using tickets.