Hello, I am very much a newbie to PD/GEM and I just recently created my first video mixer/processer. I am using pix_mix to mix a video of an improvised performance I did with a dancer mixed with itself. I stretched each video over a cube geo. It is 2 chanels. One chanel is an uneffected version of the video. The other video has pix_rtx, pix_lumaoffset, pix_contrast, colorRGB with alpha, and pix_rgb2hsv as filters. Each cube has sliders assigned to control translation, rotation, and scale in unison. There are also three metro objects that control several inputs of the filters.
Everything works fine as far as live performance but I want to record the performance as a video file so I can send a version of it to the dancer and perhaps share it via youtube or another video sharing site. I have made various attempts using pix_record and pix_snap objects but the results have been disappointing in various ways.
The first attempts resulted in a .mov file but at the wrong fps and thus to slow to match the audio track. As I understand it pix_record only outputs 20fps files but I have a dialog that offers other options. The problem is the dialog closes the gemwin everytime I try to use it and the dialog seems to be set to 12fps. So I tried importing 12fps and 20fps versions of the same video.
This was before I added the pix_snap object which I added to resolve another issue. The other issue is that the cube geos are not included in the recording. All the effects are present but no cubes, only the video without texturing to the geos. I researched various techniques to record the geos as well and the best option seemed to be to use pix_snap.
Pix_snap resulted in a single frame video with no geos.
I guess my question is basicly how do I record a Gem video with all elements included and at the correct fps? Is there another way besides pix_record? Is pix_write the other way? If so how would I use pix_write as it only exports .jpg and .tiff files? I am kind of hoping there is a way to churn out various improvised video manipulations of this performance and other videos I have done so I can share them. Any ideas or is GEM just not meant to be recorded. I mean I have seen GEM videos posted online so there must be an obvious way to do this that I am missing.
I feel like I just don't know the proper way to use pix_record and pix_snap together, but maybe I am just going about the process in the absolutely wrong way.
Any ideas? please be as specific as possible because I am new to this and still don't understand allot. Thanks so much.
Derrick
In terms of recording the Geos here's a sample patch of how I might do that. Idea, method, and code stolen liberally from Marius Schebella's posts to this list.
In terms of framerate, I am not sure but I would have guessed that you could either send [auto 0( to [pix_record] then bang [pix_record] at the framerate you wish or change [gemwin] to be the framerate you wish and send [auto 1( to [pix_record] . If framerate doesn't seem to be matching what you expect, I wonder if [pix_record] is having trouble keeping up due to CPU load. You might try an uncompressed format for your codec.
-John
Derrick Barnicoat wrote:
Hello, I am very much a newbie to PD/GEM and I just recently created my first video mixer/processer. I am using pix_mix to mix a video of an improvised performance I did with a dancer mixed with itself. I stretched each video over a cube geo. It is 2 chanels. One chanel is an uneffected version of the video. The other video has pix_rtx, pix_lumaoffset, pix_contrast, colorRGB with alpha, and pix_rgb2hsv as filters. Each cube has sliders assigned to control translation, rotation, and scale in unison. There are also three metro objects that control several inputs of the filters.
Everything works fine as far as live performance but I want to record the performance as a video file so I can send a version of it to the dancer and perhaps share it via youtube or another video sharing site. I have made various attempts using pix_record and pix_snap objects but the results have been disappointing in various ways.
The first attempts resulted in a .mov file but at the wrong fps and thus to slow to match the audio track. As I understand it pix_record only outputs 20fps files but I have a dialog that offers other options. The problem is the dialog closes the gemwin everytime I try to use it and the dialog seems to be set to 12fps. So I tried importing 12fps and 20fps versions of the same video.
This was before I added the pix_snap object which I added to resolve another issue. The other issue is that the cube geos are not included in the recording. All the effects are present but no cubes, only the video without texturing to the geos. I researched various techniques to record the geos as well and the best option seemed to be to use pix_snap.
Pix_snap resulted in a single frame video with no geos.
I guess my question is basicly how do I record a Gem video with all elements included and at the correct fps? Is there another way besides pix_record? Is pix_write the other way? If so how would I use pix_write as it only exports .jpg and .tiff files? I am kind of hoping there is a way to churn out various improvised video manipulations of this performance and other videos I have done so I can share them. Any ideas or is GEM just not meant to be recorded. I mean I have seen GEM videos posted online so there must be an obvious way to do this that I am missing.
I feel like I just don't know the proper way to use pix_record and pix_snap together, but maybe I am just going about the process in the absolutely wrong way.
Any ideas? please be as specific as possible because I am new to this and still don't understand allot. Thanks so much.
Derrick
Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
On Sun, 2009-05-10 at 08:56 -0500, John Harrison wrote:
In terms of recording the Geos here's a sample patch of how I might do that. Idea, method, and code stolen liberally from Marius Schebella's posts to this list.
In terms of framerate, I am not sure but I would have guessed that you could either send [auto 0( to [pix_record] then bang [pix_record] at the framerate you wish or change [gemwin] to be the framerate you wish and send [auto 1( to [pix_record] . If framerate doesn't seem to be matching what you expect, I wonder if [pix_record] is having trouble keeping up due to CPU load. You might try an uncompressed format for your codec.
i am not totally sure, if this still applies, but iirc, [pix_record] has a hardcoded framerate of 20fps. note, that this is not related at all to the actual rate, at which it is recording, but [pix_record] ignores the framerate of [gemwin] and just always writes '20fps' to the header of the generated mov file, although it is actually recording at the rate given by [gemwin].
there are two workarouds i can think of: set your [gemwin] to a rate of 20fps as well, so that the recording framerate and the framerate written into the header are matching. the other idea is to alter framerate field of the resulting mov file. probably this could be done with a hexeditor. i don't know how easy this is with mov files. probably there is even a dedicated editor for such stuff?
roman
Derrick Barnicoat wrote:
Hello, I am very much a newbie to PD/GEM and I just recently created my first video mixer/processer. I am using pix_mix to mix a video of an improvised performance I did with a dancer mixed with itself. I stretched each video over a cube geo. It is 2 chanels. One chanel is an uneffected version of the video. The other video has pix_rtx, pix_lumaoffset, pix_contrast, colorRGB with alpha, and pix_rgb2hsv as filters. Each cube has sliders assigned to control translation, rotation, and scale in unison. There are also three metro objects that control several inputs of the filters.
Everything works fine as far as live performance but I want to record the performance as a video file so I can send a version of it to the dancer and perhaps share it via youtube or another video sharing site. I have made various attempts using pix_record and pix_snap objects but the results have been disappointing in various ways.
The first attempts resulted in a .mov file but at the wrong fps and thus to slow to match the audio track. As I understand it pix_record only outputs 20fps files but I have a dialog that offers other options. The problem is the dialog closes the gemwin everytime I try to use it and the dialog seems to be set to 12fps. So I tried importing 12fps and 20fps versions of the same video.
This was before I added the pix_snap object which I added to resolve another issue. The other issue is that the cube geos are not included in the recording. All the effects are present but no cubes, only the video without texturing to the geos. I researched various techniques to record the geos as well and the best option seemed to be to use pix_snap.
Pix_snap resulted in a single frame video with no geos.
I guess my question is basicly how do I record a Gem video with all elements included and at the correct fps? Is there another way besides pix_record? Is pix_write the other way? If so how would I use pix_write as it only exports .jpg and .tiff files? I am kind of hoping there is a way to churn out various improvised video manipulations of this performance and other videos I have done so I can share them. Any ideas or is GEM just not meant to be recorded. I mean I have seen GEM videos posted online so there must be an obvious way to do this that I am missing.
I feel like I just don't know the proper way to use pix_record and pix_snap together, but maybe I am just going about the process in the absolutely wrong way.
Any ideas? please be as specific as possible because I am new to this and still don't understand allot. Thanks so much.
Derrick
Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
plain text document attachment (record-Gem-window.pd) #N canvas 395 240 880 497 10; #X obj 29 67 gemhead; #X msg 566 56 create , 1; #X msg 644 57 destroy; #X obj 29 92 gemframebuffer; #X obj 560 260 pix_texture; #X obj 29 278 pix_snap; #X msg 82 248 512 512; #X obj 29 218 t b a; #X obj 89 228 loadbang; #X msg 29 238 snap; #X obj 29 308 t a b; #X obj 29 335 pix_buffer_write $0-depot; #X obj 89 47 loadbang; #X msg 89 67 dimen 512 512; #X obj 559 234 pix_buffer_read $0-depot; #X obj 559 184 gemhead 51; #X obj 559 204 t a b; #X msg 181 314 0; #X obj 352 29 pix_buffer $0-depot 1; #X msg 685 207 0; #X obj 25 153 cnv 15 380 60 empty empty empty 20 12 0 14 -261682 -66577 0; #X obj 560 398 square 4; #X obj 507 27 loadbang; #X obj 29 112 translateXYZ 0 0 -4; #X obj 560 350 pix_record; #X msg 495 56 lighting 1; #X msg 582 280 file /tmp/mymovie.mov; #X msg 584 321 record 1; #X msg 583 302 auto 1; #X msg 647 322 record 0; #X obj 589 99 gemwin 20; #X floatatom 588 372 5 0 0 0 - - -; #N canvas 94 100 450 300 everything-you-want-to-record-would-go-in-this-rendering-chain 0; #X obj 90 34 inlet; #X obj 89 83 outlet; #X obj 91 60 sphere 2; #X text 270 28 some animation to record; #X obj 202 68 line 0 1; #X msg 202 47 0 , 3 3000; #X obj 202 27 metro 3000; #X obj 266 159 world_light; #X obj 267 134 gemhead; #X obj 202 7 loadbang; #X connect 0 0 2 0; #X connect 2 0 1 0; #X connect 4 0 2 1; #X connect 5 0 4 0; #X connect 6 0 5 0; #X connect 8 0 7 0; #X connect 9 0 6 0; #X restore 29 160 pd everything-you-want-to-record-would-go-in-this-rendering-chain ; #X connect 0 0 3 0; #X connect 1 0 30 0; #X connect 2 0 30 0; #X connect 3 0 23 0; #X connect 4 0 24 0; #X connect 5 0 10 0; #X connect 6 0 5 2; #X connect 7 0 9 0; #X connect 7 1 5 0; #X connect 8 0 6 0; #X connect 9 0 5 0; #X connect 10 0 11 0; #X connect 10 1 17 0; #X connect 12 0 13 0; #X connect 13 0 3 0; #X connect 14 0 4 0; #X connect 15 0 16 0; #X connect 16 0 14 0; #X connect 16 1 19 0; #X connect 17 0 11 1; #X connect 19 0 14 1; #X connect 22 0 1 0; #X connect 22 0 25 0; #X connect 23 0 32 0; #X connect 24 0 21 0; #X connect 24 1 31 0; #X connect 25 0 30 0; #X connect 26 0 24 0; #X connect 27 0 24 0; #X connect 28 0 24 0; #X connect 29 0 24 0; #X connect 32 0 7 0; _______________________________________________ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
___________________________________________________________ Der frühe Vogel fängt den Wurm. Hier gelangen Sie zum neuen Yahoo! Mail: http://mail.yahoo.de
On Sun, May 10, 2009 at 10:16 AM, Roman Haefeli reduzierer@yahoo.de wrote:
i am not totally sure, if this still applies, but iirc, [pix_record] has a hardcoded framerate of 20fps.
This was never the case with pix_record on OSX and Windows. The pix_record object on those platforms records actual framerate by timing how long each frame takes to render and compress. Each frame can have a different length and this is the equivalent of dropping frames during recording. There is a minimum frame time of 20 Quicktime ticks, which corresponds to 30 fps maximum rate. A typical pix_snap and pix_record movie will have a variable frame rate which Quicktime apps have no problem playing.
What pix_record is not suitable for is recording an exact 29.97 DV clip like Final Cut or Avid does.
chris clepper a écrit :
On Sun, May 10, 2009 at 10:16 AM, Roman Haefeli <reduzierer@yahoo.de mailto:reduzierer@yahoo.de> wrote:
i am not totally sure, if this still applies, but iirc, [pix_record] has a hardcoded framerate of 20fps.
This was never the case with pix_record on OSX and Windows.
...
i think it's different on linux.
it was hardcoded to 20fps, but now it look like pix_record does use the gemwin framerate, so that the video should play at the correct speed, even if recording was slower than real time.
Cyrille