Motion sketching issues

Hi,

I have a video with an object moving and I want to make a path of that object and store it’s coordinates mapped in time. The idea is to be able to play the video frame by frame and then, with the mouse, click on the current xy position of that object in the video. This click will record a point associated with the current video frame. In the end I expect to have a series of (frame,x,y) which I can use to digitally recreate that object’s movement.

I’m trying to do it in vvvv but have some questions.

  1. Video + Point
    This one is probably very easy but somehow I didn’t get it. VideoTexture outputs an ex9 layer while Point outputs a GDI layer. Group nodes either accept ex9 or gdi but not both. How can I show both a video and geometry in the same renderer?

  2. Video frames
    I am used to working with precise frames with video. But when using FileStream to manually advance the video, I have no frame control, only time control. And it seems to suffer some kind of histeresis. So, is there a way to work with directly with frames? Or is there a way to precisely correlate frames and time?

  3. Point array
    What is the best way to record the points considering that I want to be able to save them to a file (xml or plain ascii) which can be later reloaded so that I can continue adding more points or modify the existing ones. Ideally I should have one point per frame and this point could be (0,0) by default. Should I generate a spread of Points for each existing frame? I saw Queue being used for something similar but I believe it works in a linear way while I need to access this array in a nonlinear way.

  4. Vvvv vs Processing
    Considering this particular problem, would it be easier to implement it in Processing? I am more at ease with procedural languages but I am in love with vvvv so I’d like to invest on it.

Thanks in advance,
Nuno

hello. from my initial experiences, vvvv is best for video capture and processing is good for getting pixels and manipulating them(more freedom). so you can get the capture from vvvv and send it to processing. however, ı don’t know how to do it.

How can I show both a video and geometry in the same renderer?

use a dx9 object with transform2d instead. GridSegment (DX9) for instance.

Or is there a way to precisely correlate frames and time?

sure:
time of nth frame = n/videofps
put it into the seek position pin, but the codec must have lots of keyframes to get a frame precise control.

  1. Point array
    What is the best way to record the points considering that I want to be able to save them to a file (xml or plain ascii) which can be later reloaded so that I can continue adding more points or modify the existing ones. Ideally I should have one point per frame and this point could be (0,0) by default. Should I generate a spread of Points for each existing frame? I saw Queue being used for something similar but I believe it works in a linear way while I need to access this array in a nonlinear way.

woei made a buffer like module for this.

in which format you save and load the points is up to you. but Writer (File) , Reader (File) , FormatValue (String) , + (String) Spectral, Separate (String) and AsValue (String) are surely needed.

  1. Vvvv vs Processing
    Considering this particular problem, would it be easier to implement it in Processing? I am more at ease with procedural languages but I am in love with vvvv so I’d like to invest on it.

my experienc is, if you know vvvv good enough, you will programm such things 10 times faster than in processing…

Hi tonfilm, thank you so much for your detailed answer! They were precious!

Buraque: I will not make any video capture. I will work on an existing AVI. Thank you to you too. Since I’m excited about vvvv I decided to give it a try. Coding in Processing is cleaner and more similar to what I’m used to, but the real time of vvvv is priceless.

Thank you!
Nuno