godot/modules
reduz 5786516d4d Implement Running Godot as Movie Writer
* 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.

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 good 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 play no sound (sound will be saved directly).

Usage:

$ godot --write-movie movie.avi [scene_file.tscn]

Missing:

* Options for configuring video writing via GLOBAL_DEF
* UI Menu for launching with this mode from the editor.
* Add to list of command line options.
* Add a feature tag to override configurations when movie writing (fantastic for saving videos with highest quality settings).
2022-06-21 11:28:47 +02:00
..
basis_universal Refactor module initialization 2022-05-04 17:34:51 +02:00
bmp Refactor module initialization 2022-05-04 17:34:51 +02:00
camera Refactor module initialization 2022-05-04 17:34:51 +02:00
csg Add suffixes to all nodes and resources 2022-06-11 09:41:05 -05:00
cvtt Refactor module initialization 2022-05-04 17:34:51 +02:00
dds Merge pull request #60723 from reduz/refactor-module-initialization 2022-05-04 19:08:43 +02:00
denoise Refactor module initialization 2022-05-04 17:34:51 +02:00
enet Replace most uses of Map by HashMap 2022-05-16 10:37:48 +02:00
etcpak Refactor module initialization 2022-05-04 17:34:51 +02:00
freetype Update HarfBuzz, ICU and FreeType. 2022-05-17 18:39:31 +03:00
gdscript Fix EditorScenePostImport templates for C# 2022-06-16 19:29:59 +02:00
glslang Refactor module initialization 2022-05-04 17:34:51 +02:00
gltf Fix typos with codespell 2022-05-23 21:32:19 +02:00
gridmap Move duplicate AutoWrap, Overrun and VisibleChar behavior enums to the TextServer. 2022-06-16 16:49:37 +03:00
hdr Refactor module initialization 2022-05-04 17:34:51 +02:00
jpg Implement Running Godot as Movie Writer 2022-06-21 11:28:47 +02:00
jsonrpc Replace most uses of Map by HashMap 2022-05-16 10:37:48 +02:00
lightmapper_rd Merge pull request #60723 from reduz/refactor-module-initialization 2022-05-04 19:08:43 +02:00
mbedtls Add StreamPeerSSL.get_stream() accessor. 2022-05-25 12:43:19 -07:00
meshoptimizer Refactor module initialization 2022-05-04 17:34:51 +02:00
minimp3 Replace most uses of Map by HashMap 2022-05-16 10:37:48 +02:00
mobile_vr Merge pull request #60723 from reduz/refactor-module-initialization 2022-05-04 19:08:43 +02:00
mono Fix EditorScenePostImport templates for C# 2022-06-16 19:29:59 +02:00
msdfgen Refactor module initialization 2022-05-04 17:34:51 +02:00
navigation Print NavMap error only once for invalid NavMesh. 2022-06-16 13:56:16 +02:00
noise Add suffixes to all nodes and resources 2022-06-11 09:41:05 -05:00
ogg Refactor module initialization 2022-05-04 17:34:51 +02:00
openxr Expose XRPose's get angular velocity. 2022-06-14 07:33:22 -07:00
raycast Add a new HashSet template 2022-05-20 22:40:38 +02:00
regex Replace most uses of Map by HashMap 2022-05-16 10:37:48 +02:00
squish Refactor module initialization 2022-05-04 17:34:51 +02:00
svg Fix warnings found by Emscripten 3.1.10 2022-05-10 13:03:13 +02:00
text_server_adv Move duplicate AutoWrap, Overrun and VisibleChar behavior enums to the TextServer. 2022-06-16 16:49:37 +03:00
text_server_fb Move duplicate AutoWrap, Overrun and VisibleChar behavior enums to the TextServer. 2022-06-16 16:49:37 +03:00
tga Refactor module initialization 2022-05-04 17:34:51 +02:00
theora Merge pull request #60723 from reduz/refactor-module-initialization 2022-05-04 19:08:43 +02:00
tinyexr Refactor module initialization 2022-05-04 17:34:51 +02:00
upnp Refactor module initialization 2022-05-04 17:34:51 +02:00
vhacd Refactor module initialization 2022-05-04 17:34:51 +02:00
visual_script i18n: Misc fixes translation strings 2022-06-08 12:57:54 +02:00
vorbis Replace most uses of Map by HashMap 2022-05-16 10:37:48 +02:00
webp Refactor module initialization 2022-05-04 17:34:51 +02:00
webrtc [WebRTC] Static extension registration. 2022-06-09 07:19:00 +02:00
websocket Replace most uses of Map by HashMap 2022-05-16 10:37:48 +02:00
webxr Merge pull request #60723 from reduz/refactor-module-initialization 2022-05-04 19:08:43 +02:00
xatlas_unwrap Refactor module initialization 2022-05-04 17:34:51 +02:00
modules_builders.py SCons: Improve logic to generate modules_tests.gen.h 2022-02-08 13:01:35 +01:00
register_module_types.h Refactor module initialization 2022-05-04 17:34:51 +02:00
SCsub SCons: Improve logic to generate modules_tests.gen.h 2022-02-08 13:01:35 +01:00