1. Create the content

I made the content of my first video using [Fragmentarium] with a modified glsl snippet based on  archive. The Fragmentarium version I used is [Fragmentarium-1.0.30-3Dickulus] which has allows to make spline cam paths, among some other very interesting features.  I might publish the source code later on.

[Fragmentarium] outputs a sequence of uncompressed files (BMP). For my first test I used 3500 pictures, rendered at 8192 * 4096. I will not go into details about the rendering process but it took about one week to render the files on a GTX 980ti.

2. From BMP to uncompressed AVI

As my output is a list of BMP files my first task is to render the sequence as a full video file. I tried to output a mp4 file using various tools but all of them crashed, ran out of memory or did other random stuff I wasn’t look for. I could of course have used [ffmpeg] for the whole process but I was using my windows laptop and I first thought my usual tools would do the job easily.

Using the trusted and open-source VirtuaDub I first made an uncompressed avi file with the correct size and frame rate settings. Virtudub automatically understands that a list of ordered bmps or jpgs are frames of a video sequence.

Here are some render times to meditate on :

4096 * 2048 : 12 minutes for a 800 frames file
8192 * 4096 : 25 minutes render time, 80 Go file
4096 * 2048 : 6000 frames, about one hour, 140 Go
7168 * 3584 25 minutes render time, 60 Go file
4096 * 2046 : 9000 frames, 1 hour 15 minutes,  261 Go, 60 fps

3. Who likes 8192 * 4096 ? 

The answer is simple : nobody. I tried various tools but after a while I settled on a lower resolution, I used [Virtuadub] to resize the video to half-size, that is 4096 * 2048. I have tried a successful workflow using h.265 but apparently youtube doesn’t like that yet.

Ok now I have a 150 Go audioless video file and lost a few yours to get to this point which luckily you can avoid losing if you are reading this.


After a few tries I went to [Handbrake]. Handbrake is open-source and has a cocktail and a pineapple as a logo, that’s a good sign. Back to handbrake. First good news, It didn’t crash on startup. Back to h.264. Again, handbrake, conversion and upload. My first test with a low resolution works.

When you first load the file in handbrake, the software does a process called tile scanning. That process did freeze when using the 8192 * 4096 resolution.
That’s why I settled for half-size resolution at least for a first try.

4096 * 2048 800 frames in h265 : 5 minutes render time
4096 * 2048 800 frames in h.264 : 6 minutes render time
4096 * 2048 6000 frames in h.264 : about 40 minutes render time
4096 * 2048 9000 frames in h.264 : about one hour

4. add metadata

Last but not least, my video lacks any audio. FFmpeg allows for an easy merge with an audio file using the following command :


5. add metadata

Youtube provides a tool to add the metadata necessary to be recognised as a 360 degree video. This tool is available for free [here]. It’s very simple to use, just open the file, inject the metadata and save.

6. Upload patiently

Drink a beer, enjoy a coffee, it’s going to take a while. The upload is of course going to be longer than usual because of the filesize but the youtube processing also seems to be much longer.

7. Enjoy


Published by svdk

Leave a Reply

Your email address will not be published. Required fields are marked *