The Godot 4 game engine just got a new ability, the addition of Movie Maker mode. Not really intended to replace OBS and similar solutions for recording gameplay footage, Movie Maker is instead for non-realtime recording at a fixed frame rate, ideal for creating high quality gameplay trailers or machinima style movies.
Details from the GitHub pull request:
What is it?
- Allows running the game in “movie writer” mode.
- It ensures entirely stable framerate, so your run can be saved stable and with proper sound (which is impossible if your CPU/GPU can’t sustain doing this in real-time).
- If disabling vsync, it can save movies faster than the game is run, but if you want to control the interaction it can get difficult.
- Implements a simple, default MJPEG writer (avi) and PNG+WAV (for lossless and transparency). More custom encoders (such as ffmpeg) can be implemented as GDExtensions by extending and registering a new MovieWriter.
- Implemented the ability to compress Image as jpg (needed for this).
This new features has two main use cases, which have high demand:
- Saving game videos in high quality and ensuring the frame rate is completely stable, always.
- Using Godot as a tool to make movies and animations (which is ideal if you want interaction, or creating them procedurally. No other software is as useful for this).
Note: This feature IS NOT for capturing real-time footage. Use something like OBS, SimpleScreenRecorder or FRAPS to achieve that, as they do a much better job at intercepting the compositor than Godot can probably do using Vulkan or OpenGL natively. If your game runs near real-time when capturing, you can still use this feature (but it will lack audible sound playback, as sound is saved directly to the video file).