WebRTC Doesn’t Have a Good HD Story

October 11, 2012

WebRTC is great, but it is lacking in terms of HD.

HD – High Definition. A term coined to differentiate the video quality we had 5-10 years ago to that we can achieve today. It was later also used for voice to differentiate narrow band codecs (the sound quality of a landline phone) and wide band codecs (better than phone quality).

WebRTC doesn't really lack HD – Opus was selected as its voice codec, which provides a full range of sampling rates (narrow, wide and full band), so it got that one covered. On the video side, though the story is a bit more complex.

For now, the codec itself hasn't been selected. It may either be H.264 or VP8. You can try and compare which is better, but I think there is no meaning to this comparison – both are good enough to get the job done – at least from codecs that are available today.

HD coding is complex. Here's a slide from the presentation I will be showing tomorrow:

It goes to show that to get compression done properly by a video codec, you need to invest more computation power. Going from SD (standard definition) to HD resolutions means compressing 10 to 20 times more pixels, which requires more horse power still - and the additional effort isn't linear – it is a bit worse than that.

This means that a hardware codec will do a better job than a software one – it will be able to get to higher resolutions and frame rates and tax the battery and the overall system a lot less.

VP8 doesn't have the luxury of having an existing, available chipset that has implemented VP8 in hardware acceleration. And this is a real challenge for VP8.

It will get there, but probably not before the end of 2013, and even that is a bit optimistic. Until then, expect WebRTC to offer VGA resolutions at best – at least on mobile devices.


You may also like