Nodes for working with movie files, with live video from cameras, and streaming video.
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.
The Receive Live Video node, and related nodes for working with cameras, support any AV Foundation device. This includes the built-in iSight/FaceTime cameras in MacBooks and iMacs, iOS devices when connected via a Lightning cable, and many other USB and FireWire cameras.
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.
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 Image nodes can open any of the file formats supported by FFmpeg, including .mov, .avi, .dv, .mpeg, .mpg, .mp2, .m4v, .mp4, .webm, 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 Image 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||File size||Non-forward playback||Supports transparency?||Supported by Save Images/Frames to Movie?||Notes|
|H.265 (HEVC)||Smaller||Less efficient||No||Yes|
|H.265 (HEVC with Alpha)||Smaller||Less efficient||Yes||Yes||macOS 10.15 and up|
|ProRes 422||Larger||More efficient||No||Yes||See Apple’s documentation for choosing between ProRes formats|
|ProRes 422 HQ||Larger||More efficient||No||Yes||macOS 10.15 and up|
|ProRes 422 LT||Larger||More efficient||No||Yes||macOS 10.15 and up|
|ProRes 422 Proxy||Larger||More efficient||No||Yes||macOS 10.15 and up|
|ProRes 4444||Larger||More efficient||Yes||Yes|
|Hap||Larger||Less efficient||No||No||Hap Q has the same characteristics.|
|Hap Alpha||Larger||Less efficient||Yes||No||Hap Q Alpha has the same characteristics.|
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. The table below summarizes some of the audio encodings supported by this node set.
|Encoding||Compression||Supported by Play Movie?||Supported by Save Images/Frames to Movie?|
|Linear PCM||Lossless (uncompressed)||Yes||Yes|
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.
Vuo provides 2 nodes for saving images and audio to movie files:
(See Exporting a Movie for information on other ways to create movie files with Vuo.)