At its Video @Scale conference at company headquarters today, Facebook is announcing that it’s open-sourcing Transform, a piece of software it uses to stream users’ 360-degree videos in an efficient way.
At Facebook’s size, the company must do what it can to deliver content to many users quickly and cut down on file storage space when possible. After all, the content does need to be stored in Facebook’s data centers. So the company’s engineers came up with a trick. They built a tool that turns a regular rectangle-shaped video into a three-dimensional cube — you know, one with six squares.
“The top and bottom don’t get cut off, but they do get shrunken to be more proportional,” Facebook software engineer David Pio told VentureBeat in an interview.
The tweak cuts the video’s file size by 25 percent.
And now the tool he and his teammates built is available for anyone to use in the form of a plugin to the ffmpeg media encoding and streaming software.
Like other web companies, Facebook regularly releases code under open source licenses. This practice can lead to improvements in the software these companies use, and it can even help the companies find and hire people who are particularly good at using it. A move like this could also make Facebook’s technology a standard across many companies because it’s free and associated with Facebook. Other recent Facebook open source releases include React Native for Android, the Nuclide integrated development environment (IDE), the Infer code verification tool, and artificial intelligence modules for the Torch library.
In a blog post on today’s news, Pio and fellow software engineer Evgeny Kuzyakov acknowledge that the use of the cube format is not unique to Facebook. “Cube maps have been used in computer graphics for a long time, mostly to create skyboxes and reflections,” they write. The Unity game engine and the Unreal Engine both have tools for creating cube maps. But now developers can choose to use a standalone piece of software that helps Facebook deliver content to its popular News Feed.
Of course, Facebook is a few steps ahead — it’s doing more than just this cube work. It’s also thinking in terms of pyramids, specifically to optimize video streaming for virtual reality headsets like the Samsung Gear VR. Considering Facebook’s $2 billion acquisition of Oculus in 2014, it’s clear that virtual reality is important at the company. And Facebook wants to provide a great experience — while being cognizant of storage space and network bandwidth.
The content of a 360-degree VR video is pushed into the shape of a pyramid, with the immediate field of view in the base of the pyramid, coming in at full resolution. The rest of the content shows up on the other three sides, with lower resolution. There’s a lot more Facebook does when displaying these videos for end users, but the long and short of it is that the method drops down the size of the file by 80 percent relative to the original, according to the blog post.
For now at least, Facebook is not open-sourcing this pyramid transformation technology.