Namespaces

Variants
Actions

jit.qt.movie

From Cycling '74 Wiki
(Difference between revisions)
Jump to: navigation, search
({{maxword|name=jit.qt.movie}} Tutorials)
m ({{maxword|name=jit.qt.movie}} Tutorials)
 
(7 intermediate revisions by 2 users not shown)
Line 2: Line 2:
  
 
==Using the {{maxword|name=jit.qt.movie}} object==
 
==Using the {{maxword|name=jit.qt.movie}} object==
 
=={{maxword|name=jit.qt.movie}} Tutorials==
 
 
* 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.
 
  
 
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 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.
 
The Vizzie ./packages/vizzie/clippings/VIZZIE PVR/PLAYR is a convenient wrapper for jit.qt.movie. Note that it includes a qmetro.
 +
 +
=={{maxword|name=jit.qt.movie}} Tutorials==
 +
 +
* Jitter Tutorial 1 provides a very basic introduction.
 +
* Jitter Tutorial 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:
 
* Here are a series of video tutorials that take you through playing and optimizing movie playback:
Line 27: Line 27:
 
* 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 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. <maxpat>
+
* 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. <maxpat>
 
----------begin_max5_patcher----------
 
----------begin_max5_patcher----------
591.3ocyW9saaCBEF+Z6mBDWmEYiabb2UaOGSSQ33ybIBCt.4eqpu6y.1qso
+
699.3ocyW1saaBCEG+ZxSgEWyPXSBIsWsIsGgocyTUjANk3NvlZaxGqpu6Ca
wMNYdVUQJHvmbxO937cB4ov.bt7.nwnuh9AJH3ovf.2R1EBZmGfqnGVyoZWX
+
f0zFZCAQilRTr7wVG++7ymisySybbiE6AkK5VzuPNNOMywwZxXvosuiaAceR
XArWluAOy+HCbv3VdCyLujOWyo4nusVxkpJYAf1db2wtX+kTXzreC13iIyiZ
+
NUYmlahnn.3ZWulwzvds09O1vTn5uTjegXK5dVNfpTLdFRuAPe+mnDQJj3g1
WVrshI3fwkdR6h0Ty5GXhxUJXswiGIKp4yfHKSsCwKV5l0rF5mujI4VyoohU
+
sgkrodDPYGX9sjaI0ikKjpRZB3243bFGRDUbq2IsFYo10RD+vWtoah2K3ZNs
3.rA5uDG2whONywZvmbK+qJ4qr6msJ.OCgw+MuVvEzJWn3uqXTN19fmCCsuM
+
.ri7MIil2MBupfwyAsU33VikTcxlZYsVBI5l.mrJvOvCgIQ9K7PD7Mldgg9A
afBWEn0zR3cJmBnEikDcuWaRcCIKbSx5UghOiBE0qBM15QOERFTdyKPQ0v0n
+
n6dwShJcmqBNZkUr+XWYLw+elkYw1o4GXL77rYle7FHe4vt5v6D79.S6mk6q
Jw8qJwQwVgvW2jdoxlj2KJY8pI4TQosVoazi8HKTVqU8dlnPtGeaacRZhcva
+
xownuZwUQMOQUG1dv8T3fwWHcHmkNjkQVHsXosWv6RGxGSmlYpOTBMt2DYqy
fRuJKyx9qG7djw6jusEhBDEfZbO6IjLWIPz02yH8hG9SjwnUd1wJ.YMmJFK6
+
xWahzJI35gbcQ2MBvU.JEMCNgbRflhR2lVk7akI0rObEL43BG0fqfU1lUuKt
Qae0DhqF49jqWhV7gcUqnFE6v+CgxHKK4vM5Ix51mmraqopFvLfZEHn4bGhQ
+
vWHtFGbdmrJMJt9CHoJnGrrZ5JwvAXCGZxghNWJT3ExjXJOyj3z01DPiBTl5
Cs84c8pDLgYTMKO1vnR1f9H8SGspRhSVRWbghfyr0IerOY57HOZlWI2wf+kq
+
rxcLdpXWODY4HiaRTnooI0H570Nmtq6Mw67smmHAdJH6IRil78dBwVJrLXhO
gbY6RaGk3za4ZHirewEFlyDmdSNG910eqRpkaUq69JaAB8B+Ef1vDTCSJdcL
+
+naS+y.OaYofnLmx6q7XwjeCTHwllbS3mvQrETsjse7fRKxxx6CCyGY9vptf
uMnGXEEf30liBl15WbaynydjNXbFBOKlNbhFh7LY3zbaDT7mJZHWflzIklnO
+
7MgZIUVyRMHWCbZbNb7Mt8ez4IwKy7pgILa3wZ8HE0xrmvmLcWczBlPKYhVb
MzPF.MYSFM2M.ZH2HM9NPz55cfR2lRGHMcs2HU1ooybSYB+TWFa9uO6XcwuL
+
lj.7XpSl5ZjG0lqTYvPdSxjWtzdhBNZ4UrdwtD1Wm9lmMa0ow9qIoRTIS5bb
zlsmC+Sl3OF4
+
6spnWDZJnzLNUyD7ilSzqlyFVZJvOtNHkoLkFV31+iLuD0P9uRM3ynF7USMy
 +
GvNE4poFx.TypqlZv3AHmEWO4DL.4b8xbFBbviUNMm.QKK2BRUqOsJo9T6GD
 +
RS2HOaWFuoq0i0+Qnsrt4ublwaOO6uvIf7qR
 
-----------end_max5_patcher-----------
 
-----------end_max5_patcher-----------
 
</maxpat>
 
</maxpat>
  
* 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.
+
* 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 jit.matrixset object.
  
 
==Third-Party Max externals similar to the {{maxword|name=jit.qt.movie}} object==
 
==Third-Party Max externals similar to the {{maxword|name=jit.qt.movie}} object==
Line 53: Line 55:
  
 
==People who looked at/used this object also looked at....==
 
==People who looked at/used this object also looked at....==
 +
 +
* {{maxword|name=jit.qt.record}}
 +
* {{maxword|name=jit.matrixset}}
 +
* {{maxword|name=playbar}}
 +
* {{maxword|name=spigot~}}
 +
* {{maxword|name=jit.gl.hap}}
  
 
==Errors or Clarifications==
 
==Errors or Clarifications==

Latest revision as of 22:30, 2 May 2013

Contents

[edit] jit.qt.movie online refpage

[edit] 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.

[edit] jit.qt.movie Tutorials

  • Jitter Tutorial 1 provides a very basic introduction.
  • Jitter Tutorial 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:

[edit] 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 jit.matrixset object.

[edit] Third-Party Max externals similar to the jit.qt.movie object

Maxobjects.com listing for the jit.qt.movie object

[edit] People who looked at/used this object also looked at....

[edit] Errors or Clarifications

(please list things that you believe to be errors or omissions from the existing refpage)