The first knowledge WEBRTC of WEBRTC's introductory study

Source: Internet
Author: User

Introduction:

First declare I was just a small intern, if there is not correct, I hope you help correct me.

First, WEBRTC basic structure


Figure A WEBRTC overall structure, from Baidu Encyclopedia

First of all, WEBRTC the general realization of the idea: we create a web app, and then call in the app's JS Api,js API will invoke the C + + layer API in the browser, the underlying C + + module is from Google's Open source project WEBRTC, It allows the browser and browser to transfer audio and video streams directly. But if you want to do this two browser direct communication is still not working, the next section will talk about.

Looking at the diagram above, WEBRTC has three modules, voice engine (audio engines), video engine, Transport. Voice engine contains ISAC/ILBC Codec (audio codec for wideband and ultra-wideband, which is for narrowband), Neteq for voice (handles network jitter and voice packet loss), Echo Canceler (Echo Canceller), Noise Reduction (Noise suppression), video engine contains VP8 Codec (video image codec), video jitter buffer (videos jitter buffer, handling video jitter and video packet loss), Image enhancements ( Image quality enhancement). The transport contains SRTP (secure real-time transport protocol for audio and video streaming), multiplexing (multiplexing), P2p,stun+turn+ice (for NAT network and firewall traversal). In addition, secure transport may also use DTLS (datagram safe transport) for encrypted transport and key negotiation. The entire WEBRTC communication is UDP-based.

Second, the WEBRTC API provided by the

English api:http://www.w3.org/tr/webrtc/(personal advice to read English version)

Chinese API: http://www.iwebrtc.com/blog/webrtc1-0/(old version)

Three main APIs:

MediaStream: Get audio and video streaming

Rtcpeerconnection: Used for audio and video data communication

Rtcdatachannel: Data communication for any application

Learning Focus: Offer/answer state machine changes and ice state machine changes, and the combination of code and the entire flowchart to understand

Figure II Offer/answer state Machine Change chart, excerpted from the

Figure three ice state machine change chart, excerpted from the

Figure four complete call linking process (* focus), excerpted from the

Third, WEBRTC Open source project

licode:http://chotis2.dit.upm.es/ MIT License

KURENTO:HTTP://WWW.KURENTO.ORG/LGPL License

Google also has the official demo,github on the More good demo (Webrtc-experiment demo comparison full)

In addition, you can also read the "Web performance of the authoritative guide", there is also about the webrtc of the explanation, speaking very good.



The first knowledge WEBRTC of WEBRTC's introductory study

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.