Making room for better video
Instagram’s video pipeline produces multiple encoded versions of every uploaded video. Each version serves a different purpose: minimum functionality encodings guarantee playback across all clients, while advanced encodings use newer compression technology to deliver sharper video at lower bitrates. That split makes sense for compatibility, but it also created a resource imbalance that threatened to stall uploads entirely.
In early 2021, capacity projections showed that within 12 months Instagram would not have enough compute to handle video uploads for its more than 2 billion monthly active users. The culprit was straightforward: more than 80 percent of video compute resources were being consumed by minimum functionality encodings, yet advanced encodings accounted for only 15 percent of total watch time. If that trajectory held, minimum functionality processing would monopolize the fleet, lengthening publish times or causing uploads to fail altogether.
The fix came from rethinking how one class of encoding is produced. By repurposing the video frames from one type of encoding to generate another, Instagram cut the compute cost of its most-watched minimum functionality encodings by 94 percent — freeing capacity to produce more advanced encodings for everyone.
Two minimum functionality tracks, one redundant path
Minimum functionality encodings come in two forms. Basic adaptive bitrate (ABR) encodings are the most-watched type; clients switch between bitrate variants to keep playback smooth as bandwidth fluctuates. Progressive encodings are rarely delivered today, but Instagram still generates them to support older app versions that can’t play ABR streams.
Traditionally, both were transcoded from the original uploaded file. That’s expensive: producing a 720p ABR version of a 23-second video requires 86.17 seconds of CPU time.
$ time ffmpeg -i input.mp4 -vf scale=-1:720 -c:v libx264 output.mp4
86.17s user 1.32s system 964% cpu 9.069 total
The key observation was that the two encoding sets were nearly identical — same codec, with only minor differences in profile and preset. Rather than transcoding basic ABR from scratch, Instagram could repackage the progressive encoding’s existing video frames into an ABR-capable file structure. Generating the manifest and repackaging the same 23-second video takes just 0.36 seconds of CPU time.
$ time MP4Box -add input.mp4 -dash 2000 -profile dashavc264:onDemand -out manifest.mpd
video_output.mp4
0.36s user 2.22s system 95% cpu 2.690 total
The tradeoff is real: repackaged frames have poorer compression efficiency than purpose-built basic ABR transcodes. But the bet was that the resources saved would allow production of enough additional advanced encodings to be a net win for viewers — especially those on slower connections, who benefit most from higher-quality, lower-bitrate streams.
Proving the tradeoff before shipping
Convincing stakeholders required more than theory — basic ABR quality would clearly regress in isolation. The team built a testing framework that routed a small percentage of real traffic through a test pool and a control pool of equal processing power. Encodings from each pool were stored in separate namespaces so delivery could be traced back to one catalog or the other. At playback time, viewers saw encodings from only a single catalog, enabling a clean comparison of the net effect.
The results confirmed the hypothesis: although compression efficiency for basic ABR encodings dropped in the test pool, the increase in advanced encoding watch time more than compensated.
Production results
After rolling out the optimization, Instagram measured a 94 percent reduction in compute cost for basic ABR encodings. With those resources redirected, overall watch time coverage of advanced encodings rose 33 percent. The net effect is that more Instagram users now experience smoother playback and clearer video, with the largest gains for people in regions with slower internet connections.
The work is part of a broader push to keep Meta’s video infrastructure scaling without proportional increases in server capacity. With more than 140 billion Reels plays across Instagram and Facebook each day, efficiency gains of this magnitude translate directly into headroom for the next wave of demand.



