On the WWDC17, Apple has brought us a big surprise-its browser kernel WebKit will formally support WEBRTC, and future Apple browsers based on the WebKit kernel, such as the MacOS high Sierra, Safari in IOS 11 Browser and Safari Technology Preview version 32, will be used to WEBRTC technology.
The news has attracted countless webrtc developers, even more so that it will change the current Peer-to-peer video communication technology pattern. This is why. Here, we need to take a quick look at WEBRTC, which is called Web real-time communication (network real-time communication), is a technology that enables browsers to support real-time voice sessions or video conversations. This technology, formerly known as Gips, was developed by the Global IP Solutions Company, and in 2010, Google bought the company at a price of 68.2 million dollars and renamed Gips WEBRTC, which opened its source in May the following year.
At that time, all we could think of was Google's push to make real-time communication in the WEB possible with a technology that enables real-time audio and video communication within the browser. But at the same time, there are many developers questioned whether WEBRTC will be short-lived, after all, although the Chrome, Firefox, Opera and other mainstream browsers have joined the WEBRTC stronghold, but Apple's Safari and Microsoft's IE do not support.
Today, Safari is about to integrate WEBRTC in the latest version, what it means for the entire real-time communications field. For WEBRTC developers, there will be a change. We take all sorts of questions, consulted the network real time communication domain senior expert--sound network Agora.io founder and CEO Zhaobin, from the WEBRTC development process talks, detailed analysis WebKit finally supports WEBRTC will bring how the change. WEBRTC: To solve the video call on the browser
Prior to 2011, private technology was needed to implement real-time communication between browsers, most of which were installed using Plug-ins and clients. For many users, downloading, installing, and updating Plug-ins is a complex, cumbersome, and error-prone operation. For developers, the debugging, testing, deployment, bug fixes and maintenance of plug-ins are equally difficult, and without mentioning some copyrighted technology, consolidation is quite complex. Moreover, many times it is difficult for service providers to persuade users to install Plug-ins.
But the one or two-something-tough situation has been broken by Google's WEBRTC project open source. 2011, WEBRTC based on the BSD protocol open source, the same year, the consortium launched the WEBRTC program, so that WEBRTC became part of the HTML5 standard (currently, the specification is still under development).
As a result, browser manufacturers will be built in the browser WEBRTC, so that Web application developers can use HTML tags and JavaScript API can be implemented in the Web audio and video communication functions. On WEBRTC's official web site, Google says:
One of the key factors in the success of the Internet is that some of the core technologies, such as HTML, HTTP, and TCP/IP, are open and standardized. At present, there is no free, high-quality, complete solution in the field of real-time communication in browsers, and WEBRTC is the technology.
The technology includes key NAT and firewall penetration technology using STUN, ICE, TURN, RTP-OVER-TCP, and supports agents. Through the browser, WEBRTC the communication on both sides of the signaling status directly mapped to the peerconnection inside to abstract signaling processing, so that developers according to different scenarios to choose a different session protocol, such as SIP, Xmpp/jingle and so on. Up to now, the technology has been in use for over 8 years, integrating the best audio and video engines and being deployed to millions of terminals, and these technologies are not charged by Google.
Born from the original video call to address the browser, WEBRTC has developed to enable the communication of arbitrary data between browsers. Among them, Chrome, Firefox, Opera for WEBRTC support has been more mature, and Microsoft in 2014 proposed the ORTC (object RTC, also known as WEBRTC 1.1), in the hope of the Google's WEBRTC proposal, based on a slight change, but also Provide support. Currently, the latest version of Microsoft Edge has supported ORTC.
And for Apple officials finally announced that "WEBRTC will be in Safari 11," Zhaobin said: "At present, WebRTC already have 1.0 version, temporary or draft." But what we can see is that WEBRTC has to be strengthened in terms of network anti-packet processing, video engines (such as H.264 Codec support maturity). The 1.1 version after 1.0, taking into account the combination with ORTC, allows WEBRTC to be implemented on a Microsoft browser, a phased development that Google and Microsoft are simultaneously pushing. In fact, Google's WEBRTC plan from the outset is to support all the mainstream browsers. The biggest hurdle has been Microsoft browsers and Apple browsers, but these are actually changing through Google's push. Safari in IOS 11 will support WEBRTC, is the industry's last major browser to join this trend, but also a major victory in this process. This is a landmark event in the development of WEBRTC, which will greatly promote the popularity of RTC technology on a variety of application sites. Of course, Apple's support for WEBRTC is still rough, requiring more time to mature and solving more problems with interoperability. Microsoft also needs to participate in the industry's discussions on standard consistency, narrowing and bridging the gap in interoperability. "So Safari finally realizes what it means to support WEBRTC."
WEBRTC developers have long been overshadowed by an inescapable shadow of "when will Microsoft and Apple browsers support it?" The question, often at this time, but only to give users the use of Chrome and Firefox solutions. And on the mobile side, things get more complicated because using native is the only way on IOS, which increases the cost of swift/objective-c development, although react Native can build support for WEBRTC Android and IOS apps to make this state Improvement, but it cannot fundamentally solve the problem.
With the advent of the IOS version that supports WEBRTC, it means developers can provide a responsive web site that runs on both the Web side and the mobile side to achieve WEBRTC calls. For developers, there is no need to be an expert in objective-c, Swift, or react Native in order to complete a project, and the cost of development will be greatly reduced by using JavaScript to achieve such a sophisticated network telephony application.
When it comes to WEBRTC mobile-end implementations, Zhaobin says: "After Safari supports WEBRTC, audio and video calls that used to be made between browsers such as the Chrome browser are now implemented in safari and between Chrome and Safari, and the impact must be positive." Predictably, many Web sites and developers will be more serious about adding such features to their sites and applications. "There is still a flaw: WEBRTC is about to explode, but the road to success is a dark pit of countless
Although the application of WEBRTC has been so extensive, but it is not perfect, such as stability, Peer-to-peer connectivity, call success rate, network performance, such as anti-throw package, there is a lot of room for improvement. So far, the large-scale use of WEBRTC successful products are still rare, and almost all in the network and equipment performance is very mature in the United States, such as Facebook Messenger, Google Hangouts.
And WEBRTC is browser-based technology, most of which are applied in browsers. And the use of WEBRTC on the mobile end of the development, the difference is still very large. Although it can be achieved, but the threshold will be very high, the difficulty will be very large. For most developers, it is not an easy thing to use WEBRTC to achieve a good experience on the mobile side, and there are many holes to be encountered. Before WEBRTC development, developers and their teams need to decide whether to develop themselves or use a third-party SDK based on their own circumstances.
In this respect, Zhaobin shares his experience with us: "Real-time communication is a technology that is easy to implement, but hard to do." I have worked in WebEx and YY for nearly 20 years and are very clear about the RTC technology pit. Also know that for a developer, to the APP and browser to achieve real-time audio and video calls, is very cumbersome and tiring things. Many developers are most likely to fall into the pit, that is, if you want to use real-time communication technology, in the final analysis is the use of quality assurance in the process, rather than the development of those written in the functional code. ”
Because of this, Zhaobin and his team have extended the quality assurance aspect of WEBRTC, for example, in order to solve the problem of WEBRTC in the weak network environment, such as anti-throw packet, call connectivity rate and so on, the virtual communication network has been deployed in the world sd-rtn™ Software Defined Network), with nearly 100 data centers, at the same time, to provide developers with a minimalist SDK, to help them on any App, web site, can achieve high-quality audio and video calls, full interactive live. According to Zhaobin, currently the SDK has been embedded in more than 500 million of the terminal equipment, only spent 1 years or so, the global scope for real-time communications, the strong demand for quality assurance is evident. Summary: Real-time communication technology can not be used in the scene
WEBRTC has been the most important force in the development of RTC real-time communication technology, so that real-time communication technology can be widely used in many industries of the Internet. And over the past two years, we've seen that real-time communication technology is driving a lot of innovative applications in many areas, for example, last year's Big Hot Interactive live broadcast, the host and the audience at any time with the MAI interaction, the different rooms of the host even the MAI chat, as well as the current popular werewolf kill, including voice, video and even a round wheat video werewolf Kill, These scenarios are based on the RTC creation. In addition, in AR/VR and AI and other new technology areas, there are many combinations, such as video call when the dynamic filter stickers, wear VR glasses and virtual world friends chat and so on. Of course, for traditional industries, such as corporate collaboration, finance, customer service and other fields, it is possible to use the RTC technology to break the geographical boundaries, so that more people can do home customer service, Home Office SOHO and so on.
"We believe that as WEBRTC is supported by several major browsers, the growth and development of applications is inevitable." In the future, no matter what the scene, real-time communication will become a default choice for people, infinitely shorten the distance between people. And users will become more and more familiar with the use of this mode, developers will increasingly understand the threshold, and quality assurance in the field of real-time communications value. "In the end, Zhaobin concluded. Related resources: WEBRTC status WEBRTC Advantages and disadvantages WEBRTC Introductory tutorials WEBRTC Implementation on the IOS side