Playback a cache TOP frames in half speed

Hi guys,

A really interesting task finds me a few days ago and I haven’t find solution for it.

We have a VideoDeviceIn TOP with a live camera feed. I would like to play back the feed for 10 sec but in half speed. I assume that with a cache TOP with a cache size 300 I can “record” the feed but how can I playback the frames in half speed instantly?

I would really appreciate any suggestion, help, idea.

Best,

Andras

Hi @AndrasH,

so you will record 100 frames of the live feed and at any point then stop the recording and replay it half speed?
Do you want to show double frames or interpolate between frames?
For interpolation, you would be using 2 Cache Select TOPs and blend between them using for example a Switch or Cross TOP. You need to count up frames, ideally using a Count CHOP and create 2 channels: one with the original count value, the other one with 1 added to it. Loop the whole thing over the range of frames you want to play back as well as looping the count value between 0 and 1 resulting in a crossfade between the 2.

Attached is a little example. This works only for half speed. If you would want to do this with other speeds, the network becomes a bit more complicated.

cheers
Markus
base_halfSpeed.tox (2.4 KB)

Hi snaut,

first of all, thanks to spend time on this.

You have almost what I need so I am super excited. First of all some basic info: we are using the system in Europe so the camera feed is 1080i50 and we are playout from the system in 25 frames. So if we cache 250 frames it is 10 seconds.

Here is the detailed scheme of what I need:

  • the live feed is coming 24/7 but we don’t need to cache it.
  • when we push the button the cache is starting and we cache 250 frames.
  • when we recorded the FIRST frame it immediately started to play it out but holds for 80 milliseconds which is a length of 2 frames if 25 frames is a second.
  • after 80 milliseconds the system start to playout the second recorded frame from the cache and holds it for another 80 milliseconds. at this moment the cache already cached 3 frames.
  • this thing goes on until it plays out all the 250 recorded frames.
  • if we push the reset button the the whole circle starts again from the beginning, it empty the cache and start to “record” again.

To summarize I need a recorder which is immediately starts to plays out the recorded content in half speed while it is recording.

What you think?

thanks!!!

Hi @AndrasH,

to get control of the Cache this way, use it’s “Replace Single” feature. Thinking to keep it simple I would use 2 timers - although with some Math CHOPs probably a single Timer is possible as well. The first Timer CHOP runs at normal speed and using the Timer Count parameter’s “Frames” output control the Cache TOP’s Replace Index parameter (you need to multiply by -1). The second Timer CHOP can get the same length but run at half speed - here use the Timer Count parameter’s “Frames” output multiplied by -1 to control the Cache Select’s Cache Index parameter.

Hope this helps
cheers
Markus

1 Like

Hi @snaut ,

This is what I need! I made some adjustments but it works! thank you so much for your help, I appreciate it. I will give you credits if this gonna be used in the future.

take care and all the best,

Andras