vuo.video

These nodes are for working with movie files and with live video from cameras.

Video basics

The visual part of a video is made up of a sequence of frames. Each frame contains an image. Each frame also contains a time indicating when the frame was recorded or when it’s intended to be played back, relative to the start of the video.

The audio part of a video is made up of a sequence of samples on one or more channels. (For more information about audio, see the vuo.audio node set documentation.) You can play the audio from a movie, or create a movie with audio, using a combination of nodes from this node set and the vuo.audio node set.

Cameras

The Receive Live Video node, and related nodes for working with cameras, support any QuickTime device. This includes the built-in iSight/FaceTime cameras in MacBooks and iMacs, and many other USB and FireWire cameras.

Movie URLs

Nodes that open or save to movie files have a URL input port. You can drag a movie file from Finder onto the input port’s constant value to fill in the URL. Or drag the movie file onto the composition canvas to create a Play Movie node. These nodes only support file URLs, not HTTP.

Movie file formats

A movie file has several characteristics that determine which applications (including Vuo) can play it and how efficiently it can be played.

The file extension (such as .mov or .mp4) tells you which container the movie uses. Different applications support different containers. Vuo’s Play Movie and Decode Movie File nodes can open any of the file formats supported by FFmpeg, including .mov, .avi, .dv, .mpeg, .mpg, .mp2, .m4v, .mp4, and .ogv.

Within the container, the way that the video and audio are stored in the file is determined by the encoding. As with containers, different applications support different encodings. Vuo’s Play Movie and Decode Movie File nodes can read any of the video encodings supported by FFmpeg.

Some video encodings (delivery codecs) are designed for playing back and sharing movie files, while others (intermediate codecs) are designed for video editing. Delivery codecs tend to produce videos with smaller file sizes and be more efficient when playing video frames in order (for example, with the Play Movie node at its default playback rate). Intermediate codecs tend to be more efficient when playing frames in reverse or otherwise out of order (for example, with the Decode Movie Image node).

The table below summarizes some of the video codecs supported by this node set.

Encoding Purpose Notes
H.264 Delivery
JPEG Intermediate
ProRes 422 Intermediate Only available on systems with Final Cut Pro installed.
ProRes 4444 Intermediate Only available on systems with Final Cut Pro installed.

Audio is encoded separately from video. Similarly to video encodings, audio encodings have a tradeoff between quality and file size. Lossless encodings preserve the original audio at the expense of larger file sizes. Lossy encodings tend to produce smaller file sizes but may reduce the audio quality.

The Play Movie node can read any of the audio encodings supported by FFmpeg except certain proprietary ones. The table below summarizes some of the audio encodings supported by this node set.

Encoding Compression Supported by Play Movie? Supported by Save to Movie?
Linear PCM Lossless (uncompressed) Yes Yes
Apple Lossless Lossless Yes No
AAC Lossy No Yes
MP3 Lossy No No

To find out which video and audio encodings a movie file uses, you can open it in QuickTime Player and go to Window > Show Movie Inspector.



Example compositions:



Nodes: