Meta revealed a new internal computing method that increases video processing speeds by up to 94 percent.
“Our Instagram engineering team developed a way to improve video quality dramatically”, CEO Mark Zuckerberg said. “We made basic video processing 94 percent faster, so we can now use more advanced codecs. This is especially helpful on slower internet connections, but it improves the experience for everyone.”
Unlike traditional video processing, clips are repackaged into an efficient video format through an encoding process instead of being uploaded directly. This process compresses the videos to substantially increase the speed of content travelling to connected devices while reducing bandwidth usage. The method is used for Instagram videos, among other applications.
Less advanced but more effective
All Instagram videos are packaged into different video formats. One is an advanced format to ensure premium video quality, while others are lower-quality formats that store clips in a way that ensures videos run better on less advanced devices.
A problem that Meta engineers faced while storing clips in an advanced format was that it required extensive datacenter infrastructure, resources, effort and storage.
“The problem was that we spent more than 80 percent of our resources processing minimum functionality encodings”, Meta detailed in a blog post. “If we stayed on that trajectory, minimum functionality would monopolize our resources within a year. As a result, videos would start to take longer to publish — or fail to publish altogether.”
The engineers opted for the easy way out by storing clips in two lower-quality video formats. The first format, ABR encoding, assesses the speed of the user’s connection to improve or drop the video quality accordingly. The second format, progressive encoding, is designed to run on older versions of applications.
Meta applies both formats through unique computing workflows that reduce processing requirements, thereby making videos play more efficiently. They do so by first generating progressive encoding, which is followed by using parts of the file to generate ABR-encoded data.