We were interviewed by StoryTime, which is itself an interesting initiative to promote business and professionals in Emilia-Romagna. They were really friendly, and really put us at ease, which is not easy, we’re a skittish bunch 😀
Today we had to give a video presentation for the technically unannounced BCC Arte & Cultura project, and that involved a whole lot of Blender animation renders. One of them, a long one that took hours in Cycles, crashed at the very end. We were exporting in mp4 format, which is easy to import in video editors, but is quite hard to recover if the file is not terminated correctly.
VLC wouldn’t open it, and FFMPEG threw a “ERROR MOOV atom not found” warning, and then was unable to process any data.
In one week our work on the BCC Innovation Festival will culminate in an hybrid event, whose physical manifestation will be held in the Salone delle Colonne: an impressive looking immersive room in Rome’s EUR district.
We are tasked with producing audiovisual material that shows off our immersive experiences in a context that is still immersive, but not interactive. In practice this means producing 360 videos, which have fewer rendering constraints (they don’t have to be executed in real time on random devices), but in which the visitor is less able to look around and explore.
We’ll make sure to share this video when it is done, but for now I want to share how we managed to preview how the projection was going to look, without going all the way to Rome to try the system out in advance.
A quick render of the Salone delle Colonne
First of all we took the floor map of the space, which was available as a PDF on the venue’s website, we imported into Blender and we modelled a very simple mockup, using just cylinders for the walls and columns, and planes for the ceiling and floor.
We also put in cubes to represent the positions of video projectors, but we didn’t bother to scale them correctly. We also didn’t model the sort of “steps” with which the ceiling lowers towards the sides of the room, as they don’t interact with the projection geometry.
So far this was all straightforward modelling, the only somewhat non-obvious thing we did was mapping the 360 video onto the screen.
We added a new material on the walls cylinder, with an Image texture obtained with an equirectangular camera in our Innovation World Blender scene. (Note: equirectangular cameras only seem to work in Cycles)
Going into the UV Editing screen in Blender we put a seam on a vertical edge of the screen, and we did an UV > Unwrap. Then we selected all faces, and scaled them on the UV side until the seam matched perfectly. We can then change the center of the projection by moving the UV faces on the X and Y axes.
We put the resulting Blender file and a GLB on our site, and we also stuck it on Sketchfab for ease of use. We should do a three.js version in which users can load their own files and play around with the projection parameters.
Geometrically the problem is that the equirectangular video we make in Blender goes from +90 to -90 degrees on the vertical axis, while in the Salone delle Colonne there are something like 29 degrees of vertical elevations, if we look from the center of the room. Actually considering a standing spectator it’s something like +18 to -9 degrees.
This is of course assuming that the projection has been setup correctly in the room itself. I think ideally the venue should provide examples files, but after all it is a very new installation.
Similarly the projectors themselves are very advanced, they have an automatic edge and overlap system that we’re very curious to see in action, but it is not quite clear what the logical resolution of the system is.
As a company we are deeply committed to Open Source and Free Software. For video processing we do use a whole lot of ffmpeg, but for video editing we tend to use proprietary solutions like DaVinci Resolve and FinalCut Pro rather than Kdenlive.
However, we’re already working on Blender most of the time, so why not use that? After all reducing dependencies is generally a benefit to any workflow.
Here we are going to share just a few tips for users not already familiar with Blender. It is surprisingly internally self-consistent, for something that can do so many different things.
When opening Blender we can create select the Video Editing layout from the splash screen, we get this layout:
This is basically the same as any other non-linear video editor: we select files in the top right, we drag into tracks below, we see the result at the top in the center. When we drag videos onto the timeline Proxy Media is automatically generated.
There are just a couple of tricks to get you started: use Blender keyboard shortcuts, like G to move objects, X to delete them. A video-specific one is Shift+Space+K to select the Blade tool, Shift+Space+W for the select tool.
The Blade tool is used to split clips under the cursor.
To make it usable you should also enable Waveform Display for all audio tracks. It’s at the bottom of the video sequencer View menu, which has this icon:
Here it is with waveform display off:
And on:
That makes it much easier to use.
You can pick you video’s resolution and frame rate in the Scene inspector in the top right, as well as the output file location, container and codec.
In order to render just press Shift+F12 (Command + F12 on Mac), or go to Render > Render Animation in the top menu.