360° video, the bleeding edge of technology.
I have seen a lot of buzz around 360 video from the past twelve months, Facebook and YouTube are pushing forward different technologies to make their users able to share 360 content, Facebook even open sourced a 360-degree stereoscopic 3D video camera design.
I want to share with you my experience creating, editing and publishing 360 video on this post. 360 video isn’t a new concept, but recent advances in technology and the availability of cheaper and smaller cameras make possible for most people to play around and try to create 360 video.
Capturing 360 video
There are a lot of ways to create 360 video, some complex DIY solutions and other simpler but quite expensive, and as always, quality is inherently attached to your budget.
There is one thing that make 360 video challenging, quality, in order to bring the best 360 experience to your users/audience you need a high quality picture, the reason for this is that most of the time 360 players reduce the picture quality in order to display a 360 image, the player create a 3D environment where a 3D camera is placed inside a 3D sphere that has the video image stretched as a texture, the user view the rendered image trough the 3D camera inside the 3D sphere thus seeing only a portion of the whole stretched image, here is an image showing this concept:
In the illustration above you can see that the 3D camera can only see ¼ of the whole picture, and this camera render the image on your display, so if you want to see a 360 video displayed in a 1920x1080 space, you’ll need at least four times that resolution, a 7680x3840px video for instance.
There are currently some full 360°x180° cameras on the market, the Nokia OZO, the Ricoh Theta, the ICrealtech Allie Home, the Bubl Cam and the Samsung Gear 360 which would be released this year, I almost didn’t include the Nokia OZO because it has a price list of $60,000 which sounds crazy.
There are other solutions like the ones that 360Heros have, attaching a bunch of GoPro HERO cameras together to capture different videos to be later stitched together as a single video, something expensive and little bit complicated.
If you want to create a full 360°x180° it is almost certainly that you’ll use more than one camera, even using solutions like the Ricoh Theta or the Samsung Gear 360, the captured video will consist of two fisheye images together, so you’ll have to stitch and transform that video or videos in order to get an equirectangular video, this is because most 360 player use this format, YouTube and Facebook require any 360 video to be an equirectangular video.
Some solutions have a software bundle that does the dirty work, the Ricoh Theta provide PC/Mac software, the Samsung Gear provide a mobile app and PC software. Some DIY solutions like the ones provided by 360Heroes require 3D party software, like Kolor Autopano Video which BTW has been acquired by GoPro recently.
The process of editing is the same as editing any other video, but with an equirectangular image which is kind of awkward to look at, most editing software available doesn’t have a native way to display this equirectangular video as a 360 video, there are some solutions like Mettle SkyBox Studio for Adobe After Effects which enables you to view and overlay images and text over 360 video, changing the “center” of the 360 video sometimes is needed, when for some reason you forget which way to point the 360 camera, this can be easily fixed with the Offset effect on Adobe Premiere.
Viewing 360 Video
Viewing 360 video on your PC or Mac isn’t something hard thanks to GoPro VR app, former Kolor Eyes app, this app runs on Windows and OS X and it is free to download and use, you can check your 360 video using this app before uploading anywhere.
Uploading and Metadata
For reasons I don’t quite understand, Facebook and YouTube don’t allow their users to just upload a 360 video and then on the upload settings set the video as 360, both sites require the video to have some 360 metadata on the video file itself, luckily YouTube provide a Windows and Mac software for that purpose, the only thing you have to do is remember always to inject your file with this 360 metadata, I forgot that step twice and it was a such a pain because the file I wanted to upload was huge and it needs to be huge because it contains a high quality video needed for 360 projection.
Seeing the videos online was awesome, but incredibly Facebook 360 player displayed the 360 videos faster and with better quality than YouTube, this is because they really did their homework, researching better ways to compress and project 360 video, they use a cube instead of a sphere thus requiring a smaller image and keeping squared pixels which are better handled using H.264 compression, quite awesome. They even created a better way to display 360 VR video by projecting the video on a pyramid at 60fps, you can see more about 360 VR videos on Facebook clicking here.
There is no doubt in my mind that 360 and 360 VR video will change the landscape of internet video, it is an immersive experience worth trying, and as any other new technology, there are some downsides:
- The videos are huge, Facebook and YouTube have to accept video uploads that use the H.265 codec, this codec can reduce almost 50% the video file size hence half of the upload time
- YouTube need to pay attention on what Facebook is doing because their way of handling 360 video can reduce the bandwidth consumption from 25% up to 80%, doing so can enhance the experience while seeing 360 video.
- There are some cheap and easy to use 360 cameras but there is almost no stitching video software available on the market other than Kolor Autopano Video, there are some free/libre software solutions to convert a dual fisheyed video to equirectangular video thanks to the contribution to FFmpeg filters done by Floris Sluiter, but require some technical skills.
- Most of the stitching software don’t use the full potential of GPUs making the video conversion slow, I’m sure future software version will improve their performance by using optimized software that take advantage of each core of the GPU.
Nevertheless, the whole experience is great and the final result is immersive and something worth trying, my kids love to use a VR headset to see the 360 video I recorded using a Samsung Gear 360 prototype, check some of the videos I have shared here: