5786516d4d
* 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).
54 lines
1.7 KiB
XML
54 lines
1.7 KiB
XML
<?xml version="1.0" encoding="UTF-8" ?>
|
|
<class name="MovieWriter" inherits="Object" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd">
|
|
<brief_description>
|
|
</brief_description>
|
|
<description>
|
|
</description>
|
|
<tutorials>
|
|
</tutorials>
|
|
<methods>
|
|
<method name="_get_audio_mix_rate" qualifiers="virtual const">
|
|
<return type="int" />
|
|
<description>
|
|
</description>
|
|
</method>
|
|
<method name="_get_audio_speaker_mode" qualifiers="virtual const">
|
|
<return type="int" enum="AudioServer.SpeakerMode" />
|
|
<description>
|
|
</description>
|
|
</method>
|
|
<method name="_handles_file" qualifiers="virtual const">
|
|
<return type="bool" />
|
|
<argument index="0" name="path" type="String" />
|
|
<description>
|
|
</description>
|
|
</method>
|
|
<method name="_write_begin" qualifiers="virtual">
|
|
<return type="int" enum="Error" />
|
|
<argument index="0" name="movie_size" type="Vector2i" />
|
|
<argument index="1" name="fps" type="int" />
|
|
<argument index="2" name="base_path" type="String" />
|
|
<description>
|
|
</description>
|
|
</method>
|
|
<method name="_write_end" qualifiers="virtual">
|
|
<return type="void" />
|
|
<description>
|
|
</description>
|
|
</method>
|
|
<method name="_write_frame" qualifiers="virtual">
|
|
<return type="int" enum="Error" />
|
|
<argument index="0" name="frame_image" type="Image" />
|
|
<argument index="1" name="audio_frame_block" type="const void*" />
|
|
<description>
|
|
</description>
|
|
</method>
|
|
<method name="add_writer" qualifiers="static">
|
|
<return type="void" />
|
|
<argument index="0" name="writer" type="MovieWriter" />
|
|
<description>
|
|
</description>
|
|
</method>
|
|
</methods>
|
|
</class>
|