Opened 17 years ago

Last modified 13 years ago

#829 new defect

-sstep with -vo jpeg fails on files captured from DVB-S using VDR

Reported by: markus.naeher@… Owned by: reimar
Priority: normal Component: vo
Version: 1.0rc1 Severity: normal
Keywords: Cc:
Blocked By: Blocking:
Reproduced by developer: no Analyzed by developer: no

Description

I am trying to create slideshows from my VDR recordings.

The command line is:
mplayer -v -nosound -sstep 30 -vo jpeg:quality=50 /path/to/001.vdr

When I played around with the sstep values (10, 20, 30), I found out that the number of created images decreases as expected, but the interval stays the same !
This means, that the first some images are always identical.
I hope I expressed myself clearly. To be sure, an example:
Let's say sstep 10 produces 240 images, sstep 20 produces 120, sstep 30 produces 80.
The result is:

  • the first 80 of sstep 10 and sstep 20 are identical to all the 80 of sstep 30
  • the first 120 of sstep 10 are identical to all the 120 of sstep 20.

It looks like mplayer correctly calculates the number of images based on the video length, but then fails in skipping the frames.

What's interesting: with no sstep at all, the interval is 12 times smaller than with any sstep value.
I assume that without sstep, it creates a jpeg for every frame while sstep triggers to skip all non-I-frames.

I have tested it with a 2-minute-recording from the german TV station Pro7.
If none of you has access to a VDR that can receive that station, I can upload my test recording. But I am afraid that the whole 65 MB are needed.

I also tried working around using -vf framestep, but this has one major drawback:
The slideshow creation takes the full playing time. Even -speed will not make it significantly faster, at least by far not as fast as sstep would be.

My system:


debian 4.0
kernel 2.6.18-4-686
mplayer version 1.0 rc1
libc version 2.3.6

gcc -v
Using built-in specs.
Target: i486-linux-gnu
Configured with: ../src/configure -v --enable-languages=c,c++,fortran,objc,obj-c++,treelang --prefix=/usr --enable-shared --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --enable-nls --program-suffix=-4.1 --enable-cxa_atexit --enable-clocale=gnu --enable-libstdcxx-debug --enable-mpfr --with-tune=i686 --enable-checking=release i486-linux-gnu
Thread model: posix
gcc version 4.1.2 20061115 (prerelease) (Debian 4.1.1-21)

ld -v
GNU ld version 2.17 Debian GNU/Linux

as --version
GNU assembler 2.17 Debian GNU/Linux
Copyright 2005 Free Software Foundation, Inc.
This program is free software; you may redistribute it under the terms of
the GNU General Public License. This program has absolutely no warranty.
This assembler was configured for a target of `i486-linux-gnu'.

/proc/cpuinfo
processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 8
model name : Pentium III (Coppermine)
stepping : 6
cpu MHz : 938.078
cache size : 256 KB
fdiv_bug : no
hlt_bug : no
f00f_bug : no
coma_bug : no
fpu : yes
fpu_exception : yes
cpuid level : 2
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 sep mtrr pge mca cmov pat pse36 mmx fxsr sse up
bogomips : 1877.49

Change History (3)

comment:1 by reimar, 17 years ago

Use -nosound -benchmark with framestep

comment:2 by markus.naeher@…, 17 years ago

I tried it, but it is just as slow as -speed 100:
On my PC, this still takes nearly 1/3 of the original playing time for creating a slideshow.

What I forgot to mention ist that with 1.0pre2, sstep worked somewhat better (not perfect though).
The value of 5 resulted in something between 30 and 60 seconds, but by doing some experiments, I was able to find that somehow useful value.

comment:3 by compn, 13 years ago

Owner: changed from beastd to reimar
Note: See TracTickets for help on using tickets.