65.1 Overview
Hollywood's video library provides functions for loading and playing video objects.
Video objects are Hollywood objects which contain a video stream that may be bundled
with an audio stream. When playing a video object, Hollywood will make sure that
video and audio streams are perfectly synchronized with each other.
You can open a video file from disk using the @VIDEO preprocessor
command or the OpenVideo() command. To play a video, use the
PlayVideo() command.
Hollywood's video library supports two different renderers:
- Inbuilt video renderer: This is a platform-independent video renderer supported
on all platforms. It is the most flexible video renderer and supports advanced features
like video layers and plugins. The disadvantage is that decoding is done completely
in software which is why large videos (or videos that use 50fps or more) might be
stuttering. In that case, you can use the native video renderer instead (see below).
The native video renderer is often hardware-accelerated which is why video playback
will still be smooth even in very high resolutions or with lots of frames per second. Note
that the only video format supported by the inbuilt video renderer is the CDXL video format
developed by Commodore in the early 90s. CDXL isn't very useful for today's video
requirements, but the big advantage of the inbuilt video renderer is that it can load
videos via Hollywood plugins. Installing video plugins can greatly enhance the functionality
of the inbuilt video renderer and can enable Hollywood to play lots of different video
formats.
- Native video renderer: This is only supported on Windows, macOS, and iOS. This
renderer loads and plays videos through the operating system's video interface. On
Windows video playback is done via Media Foundation and DirectShow whereas macOS and
iOS use AV Foundation or QuickTime (on older systems). This renderer is not as flexible
as the inbuilt video renderer. It doesn't support video layers and it also doesn't support
video format loaders made available by Hollywood plugins. But it can be much faster
because native video renderers are often hardware-accelerated. The number of video formats
that can be played by the native video renderer is also limited. The best format to
use with the native video renderer is MPEG4 because this is supported on all platforms
except on very old macOS or Windows versions.
By default, Hollywood will first ask the inbuilt video renderer to open the video
file. You can change this behaviour by using the Loader tag in your call to
@VIDEO or OpenVideo(). See VIDEO for details.
Show TOC