Forums > Jitter

jit.qt.movie and large files

September 6, 2006 | 1:10 am

Hi,

i’m experiencing low framerates when i’m loading in three large quicktime movies simultaneously. Each of the files is about 1.7GB and i paste em all three together using the jit.glue object. This is all rendered on the GPU.
I’m pretty sure that it’s my Harddisk (7200 rpm) that cannot keep up,… so i was wondering if there’s a way to work around this issue.

I allready tried using the jit.matrixset object for buffering my files into RAM, but since i only have 2GB of RAM, I cannot load them into RAM entirely. So i created a buffer for 500 matrices per movie, but this resulted in just slightly better performance, since the movie is still buffering while it starts to play (once 500 frames are read, i start exporting the frames before replacing them). I do have to notice though that this technique works very well for two large movies (tested and works up to 30 fps) , but once i start reading in the third movie, they all drop down to minimum 3 and maximum 8 frames per second while the I/O activity peaks and the three movies start combatting to access the harddrive

My next option is to search for some movie converter that allows me to reduce the filesize, while retaining acceptable quality for my footage.

So as a summary, what am i looking for? Or a descent way to buffer my movies dynamically so don’t have to deal with the harddrive bottleneck
OR
a nice tool that allows me to convert my files to a workable size, while their quality doesn’t go down significantly.

If someone can help me with either of both or with a third or fourth solution i didnt even think about, that would be greatly appreciated

thanks!

here follows my buffering patch… just to make sure i didnt make a gigantic design flaw…

#P window setfont "Sans Serif" 9.;
#P user jit.fpsgui 922 459 60 9109513 0;
#P user jit.pwindow 921 238 294 211 0 1 0 0 1 0;
#P toggle 1219 68 15 0;
#P window linecount 1;
#P newex 1219 88 45 9109513 metro 33;
#P newex 1188 32 94 9109513 if $i1 == 1 then bang;
#P number 1219 148 35 9 0 0 0 139 0 0 0 221 221 221 222 222 222 0 0 0;
#P message 1219 172 82 9109513 outputmatrix $1;
#P number 1103 147 35 9 0 0 0 139 0 0 0 221 221 221 222 222 222 0 0 0;
#P message 1103 171 45 9109513 index $1;
#N counter 499;
#X flags 0 0;
#P newobj 1219 122 66 9109513 counter 499;
#N counter 499;
#X flags 0 0;
#P newobj 1103 123 66 9109513 counter 499;
#P newex 922 200 140 9109513 jit.matrixset 500 4 char 320 240;
#B color 5;
#P message 1018 85 28 9109513 stop;
#P flonum 1050 64 35 9 0 0 0 139 0 0 0 221 221 221 222 222 222 0 0 0;
#P message 1050 85 42 9109513 rate $1;
#P message 987 85 28 9109513 read;
#P flonum 956 64 35 9 0.5 0 1 139 0 0 0 221 221 221 222 222 222 0 0 0;
#P toggle 922 64 15 0;
#P newex 922 84 45 9109513 metro 33;
#P newex 922 123 103 9109513 jit.qt.movie 320 240;
#P user jit.fpsgui 442 459 60 9109513 0;
#P user jit.pwindow 441 238 294 211 0 1 0 0 1 0;
#P toggle 739 68 15 0;
#P newex 739 88 45 9109513 metro 33;
#P newex 708 32 94 9109513 if $i1 == 1 then bang;
#P number 739 148 35 9 0 0 0 139 0 0 0 221 221 221 222 222 222 0 0 0;
#P message 739 172 82 9109513 outputmatrix $1;
#P number 623 147 35 9 0 0 0 139 0 0 0 221 221 221 222 222 222 0 0 0;
#P message 623 171 45 9109513 index $1;
#N counter 499;
#X flags 0 0;
#P newobj 739 122 66 9109513 counter 499;
#N counter 499;
#X flags 0 0;
#P newobj 623 123 66 9109513 counter 499;
#P newex 442 200 140 9109513 jit.matrixset 500 4 char 320 240;
#B color 5;
#P message 538 85 28 9109513 stop;
#P flonum 570 64 35 9 0 0 0 139 0 0 0 221 221 221 222 222 222 0 0 0;
#P message 570 85 42 9109513 rate $1;
#P message 507 85 28 9109513 read;
#P flonum 476 64 35 9 0.5 0 1 139 0 0 0 221 221 221 222 222 222 0 0 0;
#P toggle 442 64 15 0;
#P newex 442 84 45 9109513 metro 33;
#P newex 442 123 103 9109513 jit.qt.movie 320 240;
#P user jit.fpsgui 30 467 60 9109513 0;
#P user jit.pwindow 29 246 294 211 0 1 0 0 1 0;
#P toggle 327 76 15 0;
#P newex 327 96 45 9109513 metro 33;
#P newex 296 40 94 9109513 if $i1 == 1 then bang;
#P number 327 156 35 9 0 0 0 139 0 0 0 221 221 221 222 222 222 0 0 0;
#P message 327 180 82 9109513 outputmatrix $1;
#P number 211 155 35 9 0 0 0 139 0 0 0 221 221 221 222 222 222 0 0 0;
#P message 211 179 45 9109513 index $1;
#N counter 499;
#X flags 0 0;
#P newobj 327 130 66 9109513 counter 499;
#N counter 499;
#X flags 0 0;
#P newobj 211 131 66 9109513 counter 499;
#P newex 30 208 140 9109513 jit.matrixset 500 4 char 320 240;
#B color 5;
#P message 126 93 28 9109513 stop;
#P flonum 158 72 35 9 0 0 0 139 0 0 0 221 221 221 222 222 222 0 0 0;
#P message 158 93 42 9109513 rate $1;
#P message 93 93 28 9109513 read;
#P flonum 64 72 35 9 0.5 0 1 139 0 0 0 221 221 221 222 222 222 0 0 0;
#P toggle 30 72 15 0;
#P newex 30 92 45 9109513 metro 33;
#P newex 30 131 103 9109513 jit.qt.movie 320 240;
#P window linecount 2;
#P comment 34 38 158 9109513 1. Read in a large movie 2. start the metro for the jit.qt.movie;
#P connect 3 0 2 0;
#P fasten 2 0 1 0 35 124 35 124;
#P fasten 8 0 1 0 131 124 35 124;
#P fasten 5 0 1 0 98 124 35 124;
#P fasten 6 0 1 0 163 124 35 124;
#P fasten 14 0 9 0 332 203 35 203;
#P fasten 12 0 9 0 216 203 35 203;
#P connect 1 0 9 0;
#P connect 9 0 19 0;
#P connect 19 0 20 0;
#P connect 4 0 2 1;
#P connect 7 0 6 0;
#P fasten 2 0 10 0 35 125 216 125;
#P connect 10 0 13 0;
#P connect 13 0 12 0;
#P fasten 10 3 16 0 270 160 284 160 284 35 301 35;
#P connect 16 0 18 0;
#P connect 18 0 17 0;
#P fasten 17 0 11 0 332 129;
#P connect 11 0 15 0;
#P fasten 15 0 14 0 332 175 332 175;
#P connect 23 0 22 0;
#P fasten 22 0 21 0 447 116 447 116;
#P fasten 26 0 21 0 575 116 447 116;
#P fasten 25 0 21 0 512 116 447 116;
#P fasten 28 0 21 0 543 116 447 116;
#P connect 21 0 29 0;
#P fasten 32 0 29 0 628 195 447 195;
#P fasten 34 0 29 0 744 195 447 195;
#P connect 29 0 39 0;
#P connect 39 0 40 0;
#P connect 24 0 22 1;
#P connect 27 0 26 0;
#P fasten 22 0 30 0 447 117 628 117;
#P connect 30 0 33 0;
#P connect 33 0 32 0;
#P fasten 30 3 36 0 682 152 696 152 696 27 713 27;
#P connect 36 0 38 0;
#P connect 38 0 37 0;
#P fasten 37 0 31 0 744 121;
#P connect 31 0 35 0;
#P fasten 35 0 34 0 744 167 744 167;
#P connect 43 0 42 0;
#P fasten 42 0 41 0 927 116 927 116;
#P fasten 46 0 41 0 1055 116 927 116;
#P fasten 45 0 41 0 992 116 927 116;
#P fasten 48 0 41 0 1023 116 927 116;
#P connect 41 0 49 0;
#P fasten 52 0 49 0 1108 195 927 195;
#P fasten 54 0 49 0 1224 195 927 195;
#P connect 49 0 59 0;
#P connect 59 0 60 0;
#P connect 44 0 42 1;
#P connect 47 0 46 0;
#P fasten 42 0 50 0 927 117 1108 117;
#P connect 50 0 53 0;
#P connect 53 0 52 0;
#P fasten 50 3 56 0 1162 152 1176 152 1176 27 1193 27;
#P connect 56 0 58 0;
#P connect 58 0 57 0;
#P fasten 57 0 51 0 1224 121;
#P connect 51 0 55 0;
#P fasten 55 0 54 0 1224 167 1224 167;
#P window clipboard copycount 61;


September 6, 2006 | 3:47 am

what file size/code are your movies.

You might be able to do some optimization there.

v a d e //

http://www.vade.info
abstrakt.vade.info

On Sep 5, 2006, at 9:10 PM, david wrote:

>
> Hi,
>
> i’m experiencing low framerates when i’m loading in three large
> quicktime movies simultaneously. Each of the files is about 1.7GB
> and i paste em all three together using the jit.glue object. This
> is all rendered on the GPU.
> I’m pretty sure that it’s my Harddisk (7200 rpm) that cannot keep
> up,… so i was wondering if there’s a way to work around this issue.
>
> I allready tried using the jit.matrixset object for buffering my
> files into RAM, but since i only have 2GB of RAM, I cannot load
> them into RAM entirely. So i created a buffer for 500 matrices per
> movie, but this resulted in just slightly better performance, since
> the movie is still buffering while it starts to play (once 500
> frames are read, i start exporting the frames before replacing
> them). I do have to notice though that this technique works very
> well for two large movies (tested and works up to 30 fps) , but
> once i start reading in the third movie, they all drop down to
> minimum 3 and maximum 8 frames per second while the I/O activity
> peaks and the three movies start combatting to access the harddrive
>
> My next option is to search for some movie converter that allows me
> to reduce the filesize, while retaining acceptable quality for my
> footage.
>
> So as a summary, what am i looking for? Or a descent way to buffer
> my movies dynamically so don’t have to deal with the harddrive
> bottleneck
> OR
> a nice tool that allows me to convert my files to a workable size,
> while their quality doesn’t go down significantly.
>
> If someone can help me with either of both or with a third or
> fourth solution i didnt even think about, that would be greatly
> appreciated
>
> thanks!
>
> here follows my buffering patch… just to make sure i didnt make a
> gigantic design flaw…
>
> #P window setfont "Sans Serif" 9.;
> #P user jit.fpsgui 922 459 60 9109513 0;
> #P user jit.pwindow 921 238 294 211 0 1 0 0 1 0;
> #P toggle 1219 68 15 0;
> #P window linecount 1;
> #P newex 1219 88 45 9109513 metro 33;
> #P newex 1188 32 94 9109513 if $i1 == 1 then bang;
> #P number 1219 148 35 9 0 0 0 139 0 0 0 221 221 221 222 222 222 0 0 0;
> #P message 1219 172 82 9109513 outputmatrix $1;
> #P number 1103 147 35 9 0 0 0 139 0 0 0 221 221 221 222 222 222 0 0 0;
> #P message 1103 171 45 9109513 index $1;
> #N counter 499;
> #X flags 0 0;
> #P newobj 1219 122 66 9109513 counter 499;
> #N counter 499;
> #X flags 0 0;
> #P newobj 1103 123 66 9109513 counter 499;
> #P newex 922 200 140 9109513 jit.matrixset 500 4 char 320 240;
> #B color 5;
> #P message 1018 85 28 9109513 stop;
> #P flonum 1050 64 35 9 0 0 0 139 0 0 0 221 221 221 222 222 222 0 0 0;
> #P message 1050 85 42 9109513 rate $1;
> #P message 987 85 28 9109513 read;
> #P flonum 956 64 35 9 0.5 0 1 139 0 0 0 221 221 221 222 222 222 0 0 0;
> #P toggle 922 64 15 0;
> #P newex 922 84 45 9109513 metro 33;
> #P newex 922 123 103 9109513 jit.qt.movie 320 240;
> #P user jit.fpsgui 442 459 60 9109513 0;
> #P user jit.pwindow 441 238 294 211 0 1 0 0 1 0;
> #P toggle 739 68 15 0;
> #P newex 739 88 45 9109513 metro 33;
> #P newex 708 32 94 9109513 if $i1 == 1 then bang;
> #P number 739 148 35 9 0 0 0 139 0 0 0 221 221 221 222 222 222 0 0 0;
> #P message 739 172 82 9109513 outputmatrix $1;
> #P number 623 147 35 9 0 0 0 139 0 0 0 221 221 221 222 222 222 0 0 0;
> #P message 623 171 45 9109513 index $1;
> #N counter 499;
> #X flags 0 0;
> #P newobj 739 122 66 9109513 counter 499;
> #N counter 499;
> #X flags 0 0;
> #P newobj 623 123 66 9109513 counter 499;
> #P newex 442 200 140 9109513 jit.matrixset 500 4 char 320 240;
> #B color 5;
> #P message 538 85 28 9109513 stop;
> #P flonum 570 64 35 9 0 0 0 139 0 0 0 221 221 221 222 222 222 0 0 0;
> #P message 570 85 42 9109513 rate $1;
> #P message 507 85 28 9109513 read;
> #P flonum 476 64 35 9 0.5 0 1 139 0 0 0 221 221 221 222 222 222 0 0 0;
> #P toggle 442 64 15 0;
> #P newex 442 84 45 9109513 metro 33;
> #P newex 442 123 103 9109513 jit.qt.movie 320 240;
> #P user jit.fpsgui 30 467 60 9109513 0;
> #P user jit.pwindow 29 246 294 211 0 1 0 0 1 0;
> #P toggle 327 76 15 0;
> #P newex 327 96 45 9109513 metro 33;
> #P newex 296 40 94 9109513 if $i1 == 1 then bang;
> #P number 327 156 35 9 0 0 0 139 0 0 0 221 221 221 222 222 222 0 0 0;
> #P message 327 180 82 9109513 outputmatrix $1;
> #P number 211 155 35 9 0 0 0 139 0 0 0 221 221 221 222 222 222 0 0 0;
> #P message 211 179 45 9109513 index $1;
> #N counter 499;
> #X flags 0 0;
> #P newobj 327 130 66 9109513 counter 499;
> #N counter 499;
> #X flags 0 0;
> #P newobj 211 131 66 9109513 counter 499;
> #P newex 30 208 140 9109513 jit.matrixset 500 4 char 320 240;
> #B color 5;
> #P message 126 93 28 9109513 stop;
> #P flonum 158 72 35 9 0 0 0 139 0 0 0 221 221 221 222 222 222 0 0 0;
> #P message 158 93 42 9109513 rate $1;
> #P message 93 93 28 9109513 read;
> #P flonum 64 72 35 9 0.5 0 1 139 0 0 0 221 221 221 222 222 222 0 0 0;
> #P toggle 30 72 15 0;
> #P newex 30 92 45 9109513 metro 33;
> #P newex 30 131 103 9109513 jit.qt.movie 320 240;
> #P window linecount 2;
> #P comment 34 38 158 9109513 1. Read in a large movie 2. start the
> metro for the jit.qt.movie;
> #P connect 3 0 2 0;
> #P fasten 2 0 1 0 35 124 35 124;
> #P fasten 8 0 1 0 131 124 35 124;
> #P fasten 5 0 1 0 98 124 35 124;
> #P fasten 6 0 1 0 163 124 35 124;
> #P fasten 14 0 9 0 332 203 35 203;
> #P fasten 12 0 9 0 216 203 35 203;
> #P connect 1 0 9 0;
> #P connect 9 0 19 0;
> #P connect 19 0 20 0;
> #P connect 4 0 2 1;
> #P connect 7 0 6 0;
> #P fasten 2 0 10 0 35 125 216 125;
> #P connect 10 0 13 0;
> #P connect 13 0 12 0;
> #P fasten 10 3 16 0 270 160 284 160 284 35 301 35;
> #P connect 16 0 18 0;
> #P connect 18 0 17 0;
> #P fasten 17 0 11 0 332 129;
> #P connect 11 0 15 0;
> #P fasten 15 0 14 0 332 175 332 175;
> #P connect 23 0 22 0;
> #P fasten 22 0 21 0 447 116 447 116;
> #P fasten 26 0 21 0 575 116 447 116;
> #P fasten 25 0 21 0 512 116 447 116;
> #P fasten 28 0 21 0 543 116 447 116;
> #P connect 21 0 29 0;
> #P fasten 32 0 29 0 628 195 447 195;
> #P fasten 34 0 29 0 744 195 447 195;
> #P connect 29 0 39 0;
> #P connect 39 0 40 0;
> #P connect 24 0 22 1;
> #P connect 27 0 26 0;
> #P fasten 22 0 30 0 447 117 628 117;
> #P connect 30 0 33 0;
> #P connect 33 0 32 0;
> #P fasten 30 3 36 0 682 152 696 152 696 27 713 27;
> #P connect 36 0 38 0;
> #P connect 38 0 37 0;
> #P fasten 37 0 31 0 744 121;
> #P connect 31 0 35 0;
> #P fasten 35 0 34 0 744 167 744 167;
> #P connect 43 0 42 0;
> #P fasten 42 0 41 0 927 116 927 116;
> #P fasten 46 0 41 0 1055 116 927 116;
> #P fasten 45 0 41 0 992 116 927 116;
> #P fasten 48 0 41 0 1023 116 927 116;
> #P connect 41 0 49 0;
> #P fasten 52 0 49 0 1108 195 927 195;
> #P fasten 54 0 49 0 1224 195 927 195;
> #P connect 49 0 59 0;
> #P connect 59 0 60 0;
> #P connect 44 0 42 1;
> #P connect 47 0 46 0;
> #P fasten 42 0 50 0 927 117 1108 117;
> #P connect 50 0 53 0;
> #P connect 53 0 52 0;
> #P fasten 50 3 56 0 1162 152 1176 152 1176 27 1193 27;
> #P connect 56 0 58 0;
> #P connect 58 0 57 0;
> #P fasten 57 0 51 0 1224 121;
> #P connect 51 0 55 0;
> #P fasten 55 0 54 0 1224 167 1224 167;
> #P window clipboard copycount 61;
>
>
>


September 6, 2006 | 10:05 am

The largest movies are 1.60 to 1.75 GB, encoded as DV Avi.
When rendering to Mpeg4 i get somewhat smaller files of comparable quality.
Is there a format/codec combination you would recommend?


September 6, 2006 | 1:19 pm

On 6 sept. 06, at 12:05, david wrote:

> The largest movies are 1.60 to 1.75 GB, encoded as DV Avi.
> When rendering to Mpeg4 i get somewhat smaller files of comparable
> quality.
> Is there a format/codec combination you would recommend?

Searching in the archive provides dozen of jkc recommandations about
the Photo JPEG format.

ej


September 9, 2006 | 8:02 pm

Thanks!

and sorry for asking a question that was already answered elsewhere… guess i didn’t search on the terms that i should ve been searching… it won’t happen again! :)


September 10, 2006 | 10:14 am

Hi david,

What do you mean you glue the videos by GPU ?

Are you meaning using three videoplane and have them aligned to each other ?

William

On 9/10/06, david wrote:
>
>
> Thanks!
>
> and sorry for asking a question that was already answered elsewhere…
> guess i didn’t search on the terms that i should ve been searching… it
> won’t happen again! :)
>


September 14, 2006 | 9:41 am

>>What do you mean you glue the videos by GPU ?

>>Are you meaning using three videoplane and have them aligned to each other ?

>>William

Indeed William, I mean exactly that. this results in much better performance than glueing matrices together using the jit.glue object.

cheers,
d


Viewing 7 posts - 1 through 7 (of 7 total)