@@ -8,9 +8,9 @@ Godot supports video playback with the :ref:`class_VideoStreamPlayer` node.
8
8
Supported playback formats
9
9
--------------------------
10
10
11
- The only supported format in core is **Ogg Theora ** (not to be confused with Ogg
12
- Vorbis audio). It's possible for extensions to bring support for additional
13
- formats, but no such extensions exist yet as of July 2022 .
11
+ The only supported format in core is **Ogg Theora ** (not to be confused with
12
+ Ogg Vorbis audio) with optional Ogg Vorbis audio tracks. It's possible for
13
+ extensions to bring support for additional formats .
14
14
15
15
H.264 and H.265 cannot be supported in core Godot, as they are both encumbered
16
16
by software patents. AV1 is royalty-free, but it remains slow to decode on the
@@ -156,6 +156,7 @@ There are several limitations with the current implementation of video playback
156
156
- Changing playback speed is not supported. VideoStreamPlayer also won't follow
157
157
:ref: `Engine.time_scale<class_Engine_property_time_scale> `.
158
158
- Streaming a video from a URL is not supported.
159
+ - Only mono and stereo audio output is supported.
159
160
160
161
.. _doc_playing_videos_recommended_theora_encoding_settings :
161
162
@@ -195,6 +196,18 @@ below with almost any input video format (AVI, MOV, WebM, …).
195
196
You can check this by running ``ffmpeg `` without any arguments, then looking
196
197
at the ``configuration: `` line in the command output.
197
198
199
+ .. UPDATE: When the FFmpeg bugfixes for https://trac.ffmpeg.org/ticket/11451 and
200
+ .. https://trac.ffmpeg.org/ticket/11454 are included in a stable FFmpeg release,
201
+ .. this note can be removed. That will likely be FFmpeg 7.2 or 8.0, and will
202
+ .. likely happen during the Godot 4.5 or 4.6 release cycle.
203
+
204
+ .. warning ::
205
+
206
+ All FFmpeg releases before Feb 20th, 2025 could produce bad video streams
207
+ due to a couple of bugs. It's highly recommended to use one of the latest
208
+ static daily builds, or build FFmpeg from their master branch where they're
209
+ already fixed.
210
+
198
211
Balancing quality and file size
199
212
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
200
213
@@ -217,6 +230,14 @@ dropouts in case of high system load. See
217
230
for a table listing Ogg Vorbis audio quality presets and their respective
218
231
variable bitrates.
219
232
233
+ The **GOP (Group of Pictures) size ** (``-g:v ``) is the max interval between
234
+ keyframes. Increasing this value can improve compression with almost no impact
235
+ on quality. The valid range goes from ``0 `` to ``2,147,483,648 ``, although
236
+ compression benefits will fade away and even be reversed as the GOP size
237
+ increases. The default size (``12 ``) is too low for most types of content, it's
238
+ therefore recommended to test higher GOP sizes before reducing video quality.
239
+ Values between ``64 `` and ``512 `` usually give the best compression.
240
+
220
241
FFmpeg: Convert while preserving original video resolution
221
242
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
222
243
@@ -227,7 +248,7 @@ static scenes).
227
248
228
249
::
229
250
230
- ffmpeg -i input.mp4 -q:v 6 -q:a 6 output.ogv
251
+ ffmpeg -i input.mp4 -q:v 6 -q:a 6 -g:v 64 output.ogv
231
252
232
253
FFmpeg: Resize the video then convert it
233
254
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -238,7 +259,7 @@ significantly if the source is recorded at a higher resolution than 720p:
238
259
239
260
::
240
261
241
- ffmpeg -i input.mp4 -vf "scale=-1:720" -q:v 6 -q:a 6 output.ogv
262
+ ffmpeg -i input.mp4 -vf "scale=-1:720" -q:v 6 -q:a 6 -g:v 64 output.ogv
242
263
243
264
244
265
.. Chroma Key Functionality Documentation
0 commit comments