Yaniv Elmadawi is the Agora VP of Solutions and Technology Services, focused on helping customers bring their ideas to life. His team of Solution Architects are audio and video technology experts who are constantly pushing the boundaries of chat and streaming experiences.
“Is the highest resolution the best one to use?”
This is one of the most common questions I encounter when talking to newcomers to real-time video. For real-time interactive video, the simple answer is: No. The highest resolution is not always the right choice.
The correct answer is: It depends. Many factors affect this decision—like app usage, targeted users, devices, environment—and you need to carefully evaluate your use case. The good news is, that with a good set of voice and video APIs, you can build flexible app logic to target changing conditions.
Why everyone thinks that high video resolution is best
Let’s take a step back, outside of the real-time world and look at how video streaming and broadcasting evolved. In the beginning, we had standard definition (SD) resolution at 720 × 576 pixels. Streaming was SD, TVs were SD and connections were very limited.
When TV manufacturers started pushing high definition (HD, 1280 x 720 pixels), Full HD (1920 x 1080 pixels), 4K (4096 × 2160 pixels), and even 8K (7680 × 4320 pixels), that drove the industry to technology improvements that could support these higher resolutions, like higher internet speeds and better video compression. These improvements meant that HD video required less buffering, resulting in higher quality streaming.
1080P/4K/8K is common when talking about delivering great video on-demand (VOD) experiences like Netflix or Hulu, but such high resolution is rarely necessary for real-time, interactive video chat and streaming.
On-demand video and interactive video are different beasts
So why does the highest resolution make sense for VOD streaming but not real-time video? On-demand video has the luxury of being able to load in advance. Because the video content is pre-recorded, it can be cached via a content delivery network (CDN) for faster loading.
Viewers expect a short wait for initial buffering when they select a 4k movie on their favorite streaming service and the content can continue to load in the background as they watch. Viewers are ultimately willing to allow for some buffering time in order to watch with the best quality.
Real-time video is a different beast. Because it’s happening live, there is no time available for buffering and it can’t be cached in advance by a CDN. If communication between two or more people is involved, any delays in the transmission will be noticeable. If the delay gets too large, real-time conversation between parties will become impossible.
Interactive video chat and streaming is complicated
VOD is a “one” experience: one stream, one screen. Interactive video chat and streaming is by definition a “multi” experience: multiple streams, multiple screens. This has implications on both the UI and the underlying technology needs. Here are some topics to consider.
Will your target users primarily use desktop/laptop environments or mobile?
Desktops are more powerful machines with bigger screens. They are also often on stronger networks like LAN or WiFi. Mobile devices are less powerful, with smaller screens and often on a more challenging network connection. If your users are primarily on mobile, a lower resolution is often the best choice for them.
How many video streams will your UI display?
Your application’s layout plays a big role in app performances. Simply put, downloading and rendering four 1080P streams in a same-sized tile layout will have a larger impact on device performance, network demand and costs than one 1080P and three 360P streams.
Where are your users located?
Each country or region has unique infrastructure that can affect your app performance. You should consider the mobile network performance, Internet service providers (ISPs) and popular devices your customers will be using. Understanding if users are on good LTE/5G networks with newer, more powerful devices and unlimited data plans or on older 2G/3G providers with lower-end cheaper devices should help you make important decisions about your app implementations, including video resolution.
What technical tradeoffs might be necessary?
The higher the video resolution, the more computing power and bandwidth you require. This could lead to increased CPU and network usage, shortening the battery life, causing the device to heat up, video freezing, audio breakup and other quality issues that result in less app engagement time and loss of money.
How will latency (delay) impact the user experience?
With VOD content, users may be willing to wait for buffering to get a high-resolution viewing experience. Plus, this one-way streaming is a singular experience—no synchronization is necessary between parties. For real-time engagement, audio or video latency prevents users from communicating effectively, making the experience feel unnatural and stunted. The real-time nature of the live video or audio calls means buffering or delays aren’t viable options and that avoiding latency is much more important than the resolution of the video.
Interactive video is complicated, but not difficult
Building an RTE application can be complicated but it does not have to be hard. If you have questions, talk to us. We have an experienced solution architect team that has helped build thousands of successful RTE applications and we can guide you on how to properly design and implement your app.
Agora’s Real-Time Engagement Platform supports all voice and video chat and streaming use cases, from high resolutions requirements to more adapting solutions. Our robust low-latency network, with over 200 data centers provides excellent in-region and global connectivity. Combine this with our secure, cross-platform SDKs—designed for extreme package loss recovery and dual stream support—and full-featured APIs developed for flexibility, and you can easily build cross-platform apps for small group calls or large-scale audiences.