Opened 5 years ago

Last modified 5 years ago

#2215 new enhancement

Wish: video-analysis mode

Reported by: RichardNeill Owned by: beastd
Priority: normal Component: undetermined
Version: 1.1 Severity: normal
Keywords: analysis, kinematics, forensics, single-step, measurements Cc:
Blocked By: Blocking:
Reproduced by developer: no Analyzed by developer: no


I've just spent a few hours looking very very carefully at high-speed video of an industrial process. Here is a proposal for mplayer to make this an even better tool for analysis/kinematics.

Add an --analysis flag to mplayer. This would do the following:

  1. Turn on OSD, and show the frame number as well as H:m:s. Eg:

0:01:02::21 [or, show fractions of a second: 0:01:02.62 ]

  1. Make the left/right arrow keys advance/reverse only by 1 second rather than 10.
  1. When video is paused, the seek controls (eg left/right arrow) should jump to the next point, but NOT resume playback.
  1. See also wish #2214, for single-stepping backwards.
  1. At the end of the video, the window should not automatically close. It should remain open (we're doing a lot of seeking back and forward, and don't want to quit if we jump to the end).
  1. Don't auto-hide the mouse pointer.
  1. Turn the mouse pointer into cross-hairs. When it is clicked on the video, print (to stdout) the timestamp (to the nearest frame) and the x:y co-ordinates of the click.
  1. When the mouse is right-clicked, also turn that pixel red (and keep it red till we quit).
  1. Optional extra: allow some way to measure distances and speeds.

Thank you for your consideration. :-)

Change History (1)

comment:1 Changed 5 years ago by reimar

As far as I can tell most of what you want can be done by using the -include option to specify a couple of existing options. Not sure what this ticket was mostly for, but if the features you wanted existed, I don't think a special comamnd-line option to combine them would be necessary.

  1. is implemented by the osd-fractions option.

2 and 3 can be edited via input.conf, and -input config=... can be used to load a custom input.conf - this should even be possible to specify in the config file referenced by -include. The "pausing" prefix should be relevant to realize point 3, though the experience might be a bit buggy/sub-optimal currently.

  1. is done by -fixed-vo -idle (though -loop 0 is possibly more useful as -idle keeps the window open and MPlayer running but will still unload the file)
  2. is strangely not an option currently, even though vo_mouse_autohide looks like it was intended to be configurable...

The rest is more complicated. DOCS/tech/slave.txt shows how you can use the run command to write the current time-stamp into a file, however there is no pretty-printing to make it match OSD formatting, nor is there support for getting the mouse position so far.

Note: See TracTickets for help on using tickets.