While scalability is often the first excuse some use not to use WebRTC, a persistent claim even though that myth has been debunked long ago and many time over since, “quality” is certainly the second one. Webrtc cannot do <put a resolution here>, it’s just good enough for webcams, it cannot use more than 2.5 Mbps, ….. . While all of those previous claims are false, there is one that was correct: the default audio codecs in webrtc implementations, and especially in browsers, are not as good when it comes to spatial info than their streaming or gaming counterparts… untill recently!
This is really a great week with so many of the projects cosmo has been working on or helping for the past years coming out almost at the same time. During last IETF Hackathon, at the webrtc table, and then at cosmo offices in Singapore, INTEL and Apple came together to add HEVC support in webrtc.
INTEL chips have been supporting Encoding and Decoding for some time now. They support it in non-GPU hardware, making it a big deal for devices that can’t afford full discrete GPU. Most Apple devices integrate those INTEL chip, so having support in WebRTC for H265 HW acceleration was de facto enabling H265 in all of Apple devices in one shot (without legal issues). Of course, the more support there is for INTEL features in media stacks above, the more hardware they sell. Win-Win
INTEL (webrtc group in Shanghai) had an implementation for Desktop, android and iOS. CoSMo acted as a catalyst between the two teams, and the two language/culture (chinese and french :-)).
This blog is about the tech details of H265 in particular, and Hardware Accelerated Codecs implementation in libwebrtc in particular.
Updated on april, 7th, to add info about GPU acceleration support, in addition to INTEL CPU HA acceleration support.
(*) CPU Hardware acceleration means the CPU has dedicated silicon circuit to implement the function, as opposed to running a software implementation in the generic x86 CPU. Even though both use the CPU, the former is much faster.
For the past weeks, lots of work was done to make Av1 available in libwebrtc in an easy way. It is very clear from the messages on discuss-webrtc that the compilation process behind chrome, electron and libwebrtc is more often than not too hard to understand, some extra time was spent to make it easier for people to enable it and use it. CoSMo has also prepared a separate GitHub repository with, wait for it, documentation ! Pre-compiled examples, an AV1-ready webrtc SFU, and KITE tests are also provided for people to adopt AV1 faster.
A Story of three years of work, by multiple partners.
- 12-MAY-2020: The original (2017) draft for PERC-Lite has been uploaded as an informal IETF Draft here.
- 19-MAY-2020: A more recent and more formal version of SFrame has been uploaded as a standard track IETF draft here.
For several Years now, CoSMo has been providing end-to-end encryption solutions, from clients to media servers and more, fully webrtc compliant, to many. The most famous customer is maybe Symphony Communications, using an early modified version of PERC called PERC-lite, but there are many more using the second generation version called SFrame co-developed originally by Google, including the real-time streaming platform MilliCast.com for the customers in need of something better than DRM.
There was a catch though, it would not work in Browsers, one would have to go native only. Not a problem for most mobile apps, and DUO has been leveraging it for more than a year now, but still, less than ideal. Since last week, it is now possible to support SFrame in the browser. So the cat is out of the bag.
In this post we will give you some technical details about SFrame, how it is better than PERC’s double in terms of overhead, and provide a free, open-source working example, with an E2EE ready SFU! Obviously, it is nowhere close to the quality you can get from the full CoSMo E2EME packages, and don’t get me started on the key exchange, but it will illustrate the concept.
Many questions on the discuss-webrtc mailing list nowadays are about specific configuration flags. It’s frequent enough to deserve a blog post to provide the basic and try to reduce the number of stuck people.
The work to add RTC AV1 in Chrome, which started in November last year is now well underway. Many people still ask the legitimate question: when will it be available and how good will it be. We had planned to deliver the implementation at IETF in Vancouver at the end of the month and make demos, but the IETF like many other events has been cancelled, so we are switching to weekly updates until the release, still planned for April. This post provides some information about both timing and quality questions.
With all of CoSMo businesses growing, especially our Millicast real-time streaming platform doing 10x revenue YoY, and on track for +65% this Quarter (eq. to 7x annual), time has come again to hire.
We are duplicating our operation team, adding a Singapore Center in addition to the Existing US center based in California. As a result, we are opening a mid-level to senior Media DevOps position in Singapore, co-located with our global HQ, most of the C-Level, and the R&D team.
I took the opportunity to create a “Jobs” section in this blog. Do not hesitate to come back and visit, as we are likely to open more position as the year advance.
Within AOMedia things are moving fast with the preparation for AV2 in full speed.
Outside of AOMedia, the adoption of AV1 is like a blazing fire. With the first AV1 adoption by Browser (decoder) two years ago, Netflix switching to AV1 for all content, recently on mobile as well, Hardware acceleration available for more than a year, and Real-Time codec implementations by google and Cisco, all is already on the table for success. Cisco demoed publicly real-time AV1 in webex, on a MacBook Pro in june 2019 !
With NAB around the corner, a lot of big player are positioning themselves, not only to differentiate their offer in production, but also internally to position themselves as the implementation reference for AV2. Netflix/INTEL SVT-AV1, google’s libaom, and xvc from Divideon (non-aom member)
With a very early Chinese new year this time around, the month of January was gone before we could even realise it was around. So many good things happened though, with even more to come toward the end of the quarter, that we thought a post was overdue. Be careful, it is a short post, but on steroid, with many #webrtc news in it!
In a recent post on the millicast.com blog, we spoke about the value of Media Streaming and the corresponding business models. We think that question if of interest to a larger audience, and that some points can actually be better addressed. So we’re doubling down with a more focussed post here.