XML Feeds

.

[jitter] Realtime video buffer with variable speed access

Thierry Fournier thierry at thierryfournier.net
Thu Dec 20 14:37:28 MST 2007


Thanks Wes,
My apologies to answer so late, I wasn't here for 2 days.

I can blend 2 consecutives frames with a floating point index. But I  
don't see how, in this patch, I could read the storage matrix at a  
different speed than the incoming video - starting from the fact that  
the matrix are filled circularily with the incoming frames.

In fact, I guess that there is an incompatibility between the model I  
magine, which is linear (like a tape recording and accumulating the  
incoming video, which could be read at lower speeds or even stopped),  
and this model which is circular. Do I misunderstand a basic notion ?

Thierry Fournier
http://www.thierryfournier.net

Le 17 déc. 07 à 23:48, Wesley Smith a écrit :

> For variable speed access, all you have to do is move an index up or
> down at different rates.  You can play around with a floating point
> index and take the 2 closest frames which you would then blend in some
> fashion according to the fractional amount of the index.
>
> wes
>
> On Dec 17, 2007 11:14 AM, Thierry Fournier  
> <thierry at thierryfournier.net> wrote:
>> Hello,
>>
>> A question about time. Could it be possible to record live video with
>> a jit.qt.grab, and store it in real time in a variable access buffer,
>> which would be read at variable speed rates ?
>>
>> For example we would read this buffer at the same speed than the
>> incoming live video (= no delay), then we would read it slower, at
>> different speeds (=> creating an increasing delay compared with the
>> realtime), and then for example accelerate again the lecture speed of
>> the buffer, in order to re-synchronise it with the incoming realtime
>> video.
>>
>> I tried to make it with the "video delay" example published by
>> Jonathan Lee Marcus on the list (thanks again), using matrix
>> dimensions to store frames read with the srcdimstart and srcdimend
>> cmds, but I didn't get it : I can't read these stored matrix at
>> different speed rates. Sorry if it's obvious, I'm not very
>> comfortable with this method. I post the patch again for reference.
>>
>> Thanks & best regards,
>>
>> Thierry Fournier
>>
>> max v2;
>> #N vpatcher 31 63 1038 714;
>> #P origin 66 321;
>> #P user jit.pwindow 362 345 322 242 0 1 0 0 1 0;
>> #P window setfont "Sans Serif" 9.;
>> #P number 377 237 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
>> #P user jit.fpsgui 64 136 60 196617 0;
>> #P message 671 42 26 196617 500;
>> #P newex 671 21 45 196617 loadbang;
>> #P window setfont "Sans Serif" 12.;
>> #P window linecount 2;
>> #P comment 711 350 132 196620 simple video delay jonathan lee marcus;
>> #P toggle 28 38 15 0;
>> #P window setfont "Sans Serif" 9.;
>> #P window linecount 1;
>> #P newex 28 58 64 196617 qmetro 60;
>> #P message 139 58 38 196617 close;
>> #P message 96 36 124 196617 open \, framerate 60.;
>> #P newex 28 96 238 196617 jit.qt.grab 320 240 @vmode 1 @unique 1;
>> #P user jit.pwindow 27 348 322 242 0 1 0 0 1 0;
>> #P comment 744 221 136 196617 <--less___delay___more-->;
>> #P message 685 184 42 196617 size \$1;
>> #P newex 377 263 129 196617 expr (($i1+$i2)-$i3)%$i4;
>> #P newex 671 83 27 196617 + 1;
>> #P message 379 134 81 196617 dim 320 240 \$1;
>> #P message 671 129 74 196617 max \$1 \, min 0;
>> #P comment 705 63 132 196617 <-maximum frames of delay;
>> #P number 671 61 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
>> #P number 671 150 35 9 0 500 3 3 0 0 0 221 221 221 222 222 222 0 0 0;
>> #P comment 707 151 136 196617 <-number of frames to delay;
>> #P newex 377 209 50 196617 r rtdelay;
>> #P newex 363 307 262 196617 jit.matrix dave 4 char 320 240 @usesrcdim
>> 1 @adapt 0;
>> #P message 377 286 205 196617 srcdimstart 0 0 \$1 \, srcdimend 319
>> 239 \$1;
>> #P user hslider 685 203 19 236 501 1 0 0;
>> #P newex 470 132 50 196617 s rtdelay;
>> #N counter 0 0 160;
>> #X flags 0 0;
>> #P newobj 380 87 82 196617 counter 0 0 160;
>> #P message 378 166 203 196617 dstdimstart 0 0 \$1 \, dstdimend 319
>> 239 \$1;
>> #P newex 363 188 283 196617 jit.matrix jack 4 char 320 240 161
>> @usedstdim 1 @interp 0;
>> #P newex 363 47 27 196617 t l b;
>> #P connect 24 0 23 0;
>> #P fasten 22 0 20 0 144 94 33 94;
>> #P fasten 21 0 20 0 101 94 33 94;
>> #P fasten 23 0 20 0 33 94 33 94;
>> #P connect 20 0 19 0;
>> #P fasten 20 0 28 0 33 125 69 125;
>> #P fasten 20 0 0 0 33 125 311 125 311 35 368 35;
>> #P lcolor 13;
>> #P fasten 14 0 1 0 384 154 368 154;
>> #P fasten 2 0 1 0 383 185 368 185;
>> #P connect 0 0 1 0;
>> #P lcolor 13;
>> #P connect 1 0 7 0;
>> #P lcolor 13;
>> #P connect 6 0 7 0;
>> #P connect 7 0 30 0;
>> #P connect 8 0 29 0;
>> #P connect 29 0 16 0;
>> #P connect 16 0 6 0;
>> #P fasten 3 0 2 0 385 112 374 112 374 160 383 160;
>> #P fasten 15 0 14 0 676 120 384 120;
>> #P connect 0 1 3 0;
>> #P fasten 15 0 16 1 676 114 663 114 663 235 421 235;
>> #P fasten 11 0 3 4 676 76 457 76;
>> #P fasten 10 0 16 2 676 245 460 245;
>> #P fasten 3 0 4 0 385 118 475 118;
>> #P fasten 15 0 16 3 676 114 660 114 660 224 499 224;
>> #P connect 26 0 27 0;
>> #P connect 27 0 11 0;
>> #P connect 11 0 15 0;
>> #P fasten 11 0 13 0 676 79 703 79 703 125 676 125;
>> #P connect 13 0 10 0;
>> #P fasten 5 0 10 0 690 227 667 227 667 147 676 147;
>> #P fasten 15 0 17 0 676 106 850 106 850 179 690 179;
>> #P connect 17 0 5 0;
>> #P pop;
>>
>>
>> _______________________________________________
>> jitter mailing list
>> jitter at cycling74.com
>> http://www.cycling74.com/mailman/listinfo/jitter
>>
> _______________________________________________
> jitter mailing list
> jitter at cycling74.com
> http://www.cycling74.com/mailman/listinfo/jitter
>




More information about the jitter mailing list