Video player causes the scene to crash when play() is run

:information_source: Attention Topic was automatically imported from the old Question2Answer platform.
:bust_in_silhouette: Asked By F1R3Kael

I have a video player node within a control node in a scene called MainMenu.tscn. I have autoplay enabled on the video player and when I run the scene, there is a black screen for a few seconds and then the game window crashes with no output.

The stream file I am using is a webm file just below 9MB. I do not understand why this is happening. Any help would be appreciated.

I create a new project, a new Node2D scene. Add a Control node as a child and to this add a VideoPlayer as a child, AutoPlay on and it plays a video with a 13 mb webm extension without problems. Using Godot 3.2.1 stable official. Please try another video. Or with it in a clean scene, and see if you can replicate the problem. In such case you can report the possible bug on Github.

estebanmolca | 2020-06-06 17:04

:bust_in_silhouette: Reply From: mgschwan

Same problem here.

I am playing a Web file and the game crashes about 0.2 seconds after I start play, but no video ever shows.

The problem only occurs with VP9 encoded webm files on Windows. A VP8 encoded file from webmfiles.org worked just fine.

The exact same code works on Linux and on the Oculus Quest so it seems the VP9 decoder on Windows seems to be the problem but it does not give a debug output and no error message it just crashed silently.

Here is a sample project to test it: videotest.zip - Google Drive

It starts with the video that crashes on Windows if you want to verify that the code can play a working video change the line

get_node("Videowall").play("crunch")

in Main.gd to

get_node("Videowall").play("trailer")

So to recap:

Windows does play VP8 webm but crashes VP9 webm
Linux does play VP8 and VP9 webm
Oculus Quest/Android does play VP9 webm (VP8 not tested)