Using the jit.qt.movie object
The example ./examples/jitter-examples/video/quicktime/PolyMovie/Poly~ForMovies.maxpat shows one way to make each movie a poly~ voice, which might be fun.
The Vizzie ./packages/vizzie/clippings/VIZZIE PVR/PLAYR is a convenient wrapper for jit.qt.movie. Note that it includes a qmetro.
- Jitter Tutorial 1 provides a very basic introduction.
- Jitter Tuorial 4 discusses how to find the length of a movie, set loop points, and playback speed.
- Here are a series of video tutorials that take you through playing and optimizing movie playback:
Play a movie:
Optimize movie playback:
Play a movie in openGL:
jit.qt.movie Tips and Workarounds
- By default resolution is 320 x 240, so you should probably add the attribute @adapt 1 to read the movie at its native resolution. Or you use the attribute @dim if you'd like to force all movies to a common resolution.
- As soon as you read a movie, it begins playing, whether you're banging it or not. You can control playback manually with the start and stop message. Or you can turn off automatic playback by setting the attribute @autostart 0. With autostart off, it can sometimes be useful to call each frame explicitly, using the frame $1, bang message. If frame accuracy is critical, use frame_true $1, bang.
- If you are banging jit.qt.movie faster than its playback frame rate, you'll get duplicate frames, which can waste your processing resources. Adding the attribute @unique 1 eliminates duplicates.
- If the movie has a sound track, you'll hear it playing through QuickTime. You can turn off its sound using the vol 0 message. If you'd like to process the movie's sound track with MSP, you can use the spigot~ object, which creates a separate sound file of the movie sound track and plays it in sync with the movie. Sometimes I just make two files with the same name, one with the .mov extension and one with the .aif extension. That way you can load the sound file into a buffer~.
- If your movie's codec uses the 4:2:2 color space (e.g. ProRes 422, DVCPRO HD, DV) and you're sending matrices directly to an openGL object (e.g. jit.gl.slab or jit.gl.videoplane), you can reduce the data rate going to your graphics card 'in half' by using the attribute @colormode uyvy in both jit.qt.movie and the first openGL object. The video is converted from YUV to RGB in the graphics card, which saves some processing cycles. -- Pasted Max Patch, click to expand. --
- By default, jit.qt.movie plays the movie file from the hard disk, which can be wasteful if you're looping a movie. After you read the file, use the loadram message to load the movie into RAM, which can improve performance. In my tests, this is just as efficient as using the matrixset object.
Third-Party Max externals similar to the jit.qt.movie object
People who looked at/used this object also looked at....
Errors or Clarifications
(please list things that you believe to be errors or omissions from the existing refpage)