Opened 11 years ago

Last modified 9 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: Analyzed by developer:

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@… 11 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@… 11 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 Changed 11 years ago by mail@…

  • Cc mail@… added

comment:2 Changed 11 years ago by compn

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

ffmpeg12 seems to be broke with -sstep and mplayer demuxer

comment:3 Changed 11 years ago by mennucc1@…

  • Cc mennucc1@… added
  • Summary changed from usage of sstep produces no videooutput for m2v and dvds after update to usage 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 Changed 11 years ago by mennucc1@…

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)

Changed 11 years ago by mennucc1@…

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

comment:5 Changed 11 years ago by mennucc1@…

Changed 11 years ago by mennucc1@…

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

comment:6 Changed 11 years ago by mennucc1@…

comment:7 Changed 10 years ago by compn

  • Cc reinhard.fobbe@… added

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

comment:8 Changed 9 years ago by compn

  • Resolution set to worksforme
  • Status changed from new to closed, 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 Changed 9 years ago by mennucc1@…

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.