**Step One:**
User is asked to load a video clip. Supports AVI or Image sequence (I have code that reads both). The user can press play to see the video clip. Also, using a slider, the user can choose the portion of video that is important to him. i.e. start and end frame. The start and end could simply be entered into edit boxes, or use our "trim control".
**Step Two:**
User can set the rectangle size by RIGHT-CLICK and dragging in the video window. On RMousebutton down, a rectangle is drawn at current (or default) size. when the user drags while RMB is down, the rectangle size is adjusted, until user lets go of the RMB. This size is used for future drawing of the rectangle...
**Step Three (A):**
User can either PLAY the video as per step ONE or FOUR (if a path file has been loaded). OR... the player can record a new path. We would probably want to initiate a three second countdown to allow the user to get ready. While the video is playing, the user will click and drag on the video window to follow the movement of an object in the clip. e.g. a person or a ball, etc. When the mouse is over this window, the cursor changes to a rectangle. If the mouse button is pressed (i.e. during mouse down/drag), the rectangle is highlighted.
**Step Three (B):**
While in record mode, we should probably allow the user to use the slider. If the user clicks on the video window, a "mouse-down" will be recorded for that frame. If a path has already been recorded, this will be useful to update the mouse position for that frame. Useful for step by step editing of the path.
**Step Four:**
Play the result now. When user presses play, a rectangle will appear in the positions recorded from the previous step, showing where the mouse was depressed or not.
**Step Five:**
Export the video (showing highlighted rect) and/or the recorded path.
## Deliverables
1) Complete and fully-functional working program(s) in executable form as well as complete source code of all work done. 2) Installation package that will install the software (in ready-to-run condition) on the platform(s) specified in this bid request. 3) Complete ownership and distribution copyrights to all work purchased.
## Platform
WinNT / 2000 / XP
I can (and will want to supply) some elements of code... e.g.
~ I may want you to use a custom control that we have written in the past (for the trim control, see step one).
~ We have our own license of the Image Processing Library available at http://www.smalleranimals.com. We'd want you to use this for image processing/display, unless you can convince me that you have a better solution.
~ I want the drawing to be done using GDI+
~ To simplify the process, I'm happy for the program to only work with image sequences, rather than AVI files. I have code that wraps the abillity to read files from an image sequence.