Downloading a file created in Babylon running on Firefox to QUEST

I ran a program written in Babylon (based on the example below) on Firefox using the QUEST 2. It created a webm file. When I exited the program, Firefox told me the file could be downloaded. I tried to do that, but I cannot find the file in the QUEST 2.

(I connected the file system on the QUEST 2 to a computer and searched all the available directories on the QUEST 2 – including, but not only, “movies” and “downloads”. The file also does not show up in the Gallery.)

(The file is created and downloads OK when the program is run on a PC.)

Where is the file in the QUEST 2? Or does downloading not work? (Other documentation elsewhere says downloading from Firefox on the QUEST 2 puts the file in “downloads”.)

Any suggestions would be appreciated! Thx!

I tried again using the Oculus Browser. In this case a file was created in the QUEST 2 directory called “files” (in one place) or “download” in another place or “media” in another place. However, the file created was 6 seconds long instead of 15, and blank. I was able to transfer the file to my PC to see if it was a problem reading the file, but it was still blank for six seconds.

The file was created with:

if (BABYLON.VideoRecorder.IsSupported(engine)) {
	var recorder = new BABYLON.VideoRecorder(engine);
	recorder.startRecording("test6.webm", 15).then(() => {
		newitem.ID.textblock.text = "DONE";


For this third try I ran the playground file

in QUEST2 on the Oculus Browser.

It ran, sort of, providing 4 seconds instead of 7.

Is this playground example running in XR immersive mode? My goal, ultimately, would be to have the webm file created by the program to be captured from an XR camera that I designate (for example, either the first person view, or a third person view) as active. And I want the video capture to be a stereoscopic (up/down or sbs) equirectangular 3D 360 view as it would be looking through the HMD using that camera.

So my questions are:

1 - how do I get a download from Firefox?
2 - how do I get a good capture from the Oculus Browser?
3 - how do I get the real 3D VR Video capture that is the real goal?

Any help would be appreciated. Thx!

Adding @RaananW as I have no idea how it works on Quest :slight_smile:

The oculus quest itself has screen capture mechanism (both for images and videos) which are then stored on the device itself. You can then download those files with a tool like SideQuest, or share it using your linked facebook account.

I can try experimenting with screen capture in XR, but i wouldn’t recommend doing that, as this would degrade performance. I would either use the internal mechanism the quest offers, or use sidequest to stream the quest to my desktop and record on the desktop.

Does this help?

1 Like

I would add that the native video, which comes out as mp4, also has sound. You cannot add your own mic into the video though. That can only only be done when you are casting to Facebook. You get a lot of BS when searching as to why mic does not work except for casting.

Have been doing audio work almost exclusively since July, and have figured out how to trick Oculus to record from mic in addition, at least if you bought the Oculus headphones wt mic accessory (I did). Here is how to do that for someone wanting to post videos with mic added.

I was making short voice recordings (on a desktop), and I wanted to play a piano key at the same time so the person could get close to that pitch, but not get the piano in the recording. Playing the piano key on the headphones did the trick, almost. You cannot hear yourself near as good with headphones, and makes it harder.

I fixed this by getting a 2nd mic stream:

// get second audio in, so can play it through headphones ( you can have more than one )
let micStream;
navigator.mediaDevices.getUserMedia({audio: true})
            .then(function(stream) {
                micStream = stream;

When doing the recording, I would just make a small audio graph, and it would get merged with the piano, without my code even knowing it. (The piano in your case represents any other sound your scene produces)

const audioInput = audioContext.createMediaStreamSource(micStream);

The device video recording process would not have a clue that this is coming from mic. You might get feedback if you use the std mic / speakers though. Solution might be use another headphone / mic combo you have, as long as the jack is the same.

Also, you basically have almost zero chances of generating a 3D video unless Oculus adds this as a feature.

Thx for the quick reply.

The QUEST screen capture mechanism (as far as I know) is only monoscopic & framed, not 3D and panoramic. If I am wrong, please direct me to some way of capturing with the QUEST in 3D 360.

The objective is ultimately to be able to create volumetric video, or at least stereoscopic 3D 360, from a programmable camera with Babylon.

(This is probably doable with Unreal, and maybe with Unity. I’d like to do it with Babylon.)

Recording on the desktop may be part of the answer, but how do I get the recording to be 3D stereoscopic (u/d or sbs) and equirectangular 360? If I run the program from the PC on an XR website the recording is monoscopic and framed. (The reason I tried to record on the QUEST was to see if I could make it capture the scene the way it sends it to the QUEST – panoramic stereo. )

PS. As another reply below indicated, an additional challenge is to record spatial audio. For example, one application would be to have an event with avatars in a webXR social media space and record the event by a “camera-person” controlled programmatically by a programmable avatar, so the video (including audio) of the event could be watched in 3D 360 with an HMD. There was a thread in the Horizon Facebook Group recently of people who requested exactly that kind of tool. The response from the Horizon Team was that it was not possible yet, but they would look into making it available.