How Opera’s video compression technology works

The technology “under the hood”

Video compression is a way of optimizing videos so that it’s perfect for your screen and network conditions. When you play a video on YouTube, Netflix or other video sites, those sites want to give you the best video quality available. And, who can blame them? They want you to like what you see. But, what they might not take into account is that you may on a limited data plan or have bad network conditions. In these cases, you don’t want a high-definition video that is way too big for your mobile screen anyway – sometimes quality is less important than a video that just works.

To bring you video compression, we use a technology called Rocket Optimizer, developed by Opera’s Skyfire division. Rocket Optimizer on average provides 60% compression by reducing the size of video and other multimedia content as needed to fit the available bandwidth. The technology can detect when you are facing poor quality of experience or connections that need assistance and intervene in milliseconds. This can reduce the long start times, rebuffering and stalls on video and audio streams that can be such a frustrating experience.

Recent research from Cisco indicates that nearly 75% of the world’s data traffic will be video by 2019, with a 13-fold increase in mobile video consumption from 2014 to 2019. What would your monthly bill be if you watched 13 times more video on your phone?

How to turn on video compression

From the settings menu of Opera for Android, tap to Data savings and tick the box next to Video compression. Opera will do all the rest. You’ll use less data and spend less time watching that darned buffering wheel.

Well, yes, but how _does it actually work_ ? I mean, the whole article doesn’t say much more than ‘it compresses videos by making them smaller’, right?

What would IMHO be interesting is something like ‘does it load/buffer the whole video before compressing it or work ‘on the fly’ (every couple of frames); does it recode it to a different codec or merely alter its dimensions’ and such stuff, which I would in fact expect from a blog post called “How Opera’s video compression technology works”, and which even has an ‘under the hood’ section, right? 😉
Looking forward to a bit more detailed explanation for a feature I really like and use almost daily.
thx a lot!

It’s not a case of more detail, but any detail. The post title says “How Opera’s video compression technology works”, but it gives absolutely no detail at all.

I realise you’re likely to want to keep the exact details a secret, so either give us some detail or just refuse to talk about it – don’t say you’ll tell us and then not tell us.

Even the article you link to gives no detail whatsoever. It talks about the difficulty of compressing encrypted video, but then just says that some clever engineers will take care of it.

Ruth_opera

Hi again, the link I sent you describes the process as follows:

“When available bandwidth is limited, it does this by dynamically altering the bit rate of videos that pass through…it will limit and stabilize the bandwidth to the content provider, thus giving the content provider an out-of-band hint that the bit rate should be reduced. An appropriate bit rate will thus be selected before the stream even hits the area of limited bandwidth.”

This is the exact process. If you want any more tech detail than this I can certainly try and ask for you but not sure how more to elaborate on it.

This first blog article is more for describing what video compression is and the tech “Rocket optimiser” it uses. Sorry if you felt mislead.

Kodabar

Thank you. But all that says it that altering the bit rate alters the bit rate. When there’s not enough bandwidth to support the bit rate, the bit rate is lowered to match the available bandwidth. That’s a description of the end result; it does not explain how it is achieved.

I’m well aware of how digital video works. I’ve spent many years working with it. To lower the bit rate, one has to recompress the video. This can be difficult as compressing video is a processor-intensive operation. It would be interesting to know how Opera achieves this. Neither article explains this at all.

Do you decompress the video and then compress that stream at a lower rate? Or do you manage to recompress the video without decompressing it? The former would be impressive because you’re doing it in close to real time, but decompression and recompression is going to be quite an intensive activity. But if you take the latter approach, how do you compress video that’s already compressed and do it in close to real time? The other article deals with encrypted video. You can’t easily decompress it, so it would be interesting to hear how you approached that.

I understand that you can’t really explain the exact details of the proprietary technology you’re using. That’s fair enough. No point telling your competitors how to copy you. But this is a fascinating function and it would be nice to know something about it. This is something that is potentially very expensive and you’re providing it for free (one of the many reasons why I love Opera). Is it hardware-based? Is it software? Do you use a few big, powerful servers or a lot of little ones?

Three of us have commented here. We are all expressing a similar sentiment. So there’s no question of whether we felt misled by articles that say they’ll tell us “How Opera’s video compression technology works” and then don’t. There is no ‘if’. At the end of both of these articles, I didn’t know anything more than when I started.

Ruth_opera

I can see that and understand your frustration, although that is possibly because you came in to it knowing more than we expected most readers to. From your last comment I understand much more about your question (IE. how far back in to the process you want to go….which yes, is MUCH more than we expected on the public general news part of the site haha).

Sorry if you felt mislead, we’ll take it as feedback for the next time and try to make it more clear how in depth we’ll go. If you’re not following it already we also have a Dev/DevRel blog – https://dev.opera.com – which writes more specifically from a tech perspective, rather than ‘general consumer’ like this one.

To be honest with you I’m not sure how much was can talk about but I’d be more than happy to ask for you. If you want, pop me an email to social-networks@opera.com 🙂

Really appreciate your support and yes we think it’s super important to have services like this for free (and hope to bring more next year)
Thanks again,

Kodabar

“Sorry if you felt mislead” – please stop saying that. I do feel misled; I’ve been abundantly clear about that. There is no ‘if’. And ‘mislead’ is the present tense verb. Misled is the past tense. I realise these conditional apologies are part of the current form of corporate communication, but for goodness sakes…

If this article was titled “Opera’s video compression technology” then there would be no complaints. I realise it’s for a general audience, but when it’s titled ‘how it works’ and doesn’t explain, even slightly or generally, how it works, then the title is definitely misleading. There is no ‘if’. It’s like writing an article about how a car engine works and explaining that the engine makes the car go.

I love Opera. I love the work you guys do. I’ve been using Opera since version 2. I even paid for it back in the days when it wasn’t free. I’m very impressed by the stance you’ve taken on web standards and the way you opened up web browsing on mobile devices. I’m impressed by the way you haven’t just taken up Chromium/WebKit, but contribute to it too. I like your Turbo feature and the Rocket Optimiser for video – so few companies think about users with limited internet connections.

The Dev blog is very good. It does go into a lot more detail. It hasn’t covered the Rocket Optimiser yet. Hopefully that will come up in the future.

I appreciate your offer to find out more about how it works and I’ve already mentioned that I quite understand if you can’t really talk about the proprietary technology involved. This is the last I’ll comment upon it.

Ruth_opera

Hi, I was just trying to help and was just speaking to you like I would anyone else (thus my accidental incorrect grammar haha, certainly not in robot corporation mode). Agreed to take feedback about the title and try and get more information for you about what you wanted to know. Shame we had to get to the point of taking apart the words I was using when all I was trying to do was help. But hey, you have my email now which you can use any time if you have Qs.
Sorry (no ‘if’s) you’ve left feeling frustrated, failed in my intention. Genuinely wish you all the best, Ruth

Asad Amin Lone

How does Opera Skyfire does optimisation for encrypted traffic stream like HTTPS ?