[ < ] | [ > ] |  | [ << ] | [ Up ] | [ >> ] |  |  |  |  | [Top] | [Contents] | [Index] | [ ? ]

### 4.22.3 Recording Movies

This section describes how to use the in-game movie recorder.

#### What is the Movie Recorder Used For?

The movie recorder plugin lets you record a Crystal Space application's video output quickly into a NuppelVideo file. NuppelVideo is a format designed for fast recording rather than efficient storage, so typically you would reencode the resulting video in DivX or a similar format.

The plugin keeps Crystal Space's virtual clock in sync with the movie's frame rate, so you can render very complex scenes slower than real-time and play them back later full speed.

Currently this plugin does not handle audio or formats other than NuppelVideo, but both of these are planned for the future.

#### Preparing Up the Movie Recorder

The movie recorder plugin (probably ``movierecorder.so'` or ``movierecorder.dll'`) should be compiled as part of a full Crystal Space build.

You can also use the movie recorder with an existing binary without any recompilation. Just place the movie recorder plugin in the application's library directory.

Like the BugPlug plugin, the movie recorder can be loaded and manipulated explicitly by an application or it can be loaded transparently into any application automatically. To load it transparently for all applications, you add a setting to your user-specific, application-neutral configuration (see section Configuration Domains). To do this, in the ``CrystalSpace.Global'` configuration domain, give the setting ``System.Plugins.iMovieRecorder'` the value ``crystalspace.utilities.movierecorder'`. To find out how to do this for your particular platform, see the platform-specific intructions for manipulating configuration information (see Config PerUser). The movie recorder plugin should now load automatically when your application initializes. Last, but not least, you can use the command line argument ``--plugin=crystalspace.utilities.movierecorder'` to enable the recorder on a per-application basis.

#### Using the Movie Recorder

Like the BugPlug plugin's screenshot facility, the movie recorder creates a new numbered file when you press the recording hotkey. By default, this key is ``ALT`-r`. If you can see notice messages overlaid on your application or in the terminal you are running it from, you should see a "Video recorder started" message indicating the name of the file being recorded to. Press the record hotkey again to stop the recording.

During recording, you can use the pause hotkey to temporarily suspend recording. By default this is ``ALT`-p`. Press it again to resume recording to the same file.

#### Processing the Resulting Movies

You can view the resulting NuppelVideo files using mplayer, an open source and cross-platform media player. For re-distribution, you should use a format with a better compression ratio, like DivX. mplayer's counterpart, mencoder, handles this task nicely:

    mencoder crystal000.nuv -o my_movie.avi -ovc lavc \
        -lavcopts vcodec=mpeg4:vbitrate=1600

This creates an AVI file using FFmpeg's mpeg4 codec. See mencoder's manpage for more information.

#### Configuring the Movie Recorder

The movie recorder reads its configuration from ``data/config/movierecorder.cfg'` if it exists. This lets you change the recording and pause hotkeys, the filenames, and compression settings. See the comments in the default ``movierecorder.cfg'` for a description of each item.

[ < ] | [ > ] |  | [ << ] | [ Up ] | [ >> ]

This document was generated using texi2html 1.76.