| # FAQ | 
 |  | 
 | ### What is WebRTC? | 
 |  | 
 | WebRTC is an open framework for the web that enables Real Time Communications | 
 | in the browser. It includes the fundamental building blocks for high-quality | 
 | communications on the web, such as network, audio and video components used in | 
 | voice and video chat applications. | 
 |  | 
 | These components, when implemented in a browser, can be accessed through a | 
 | JavaScript API, enabling developers to easily implement their own RTC web app. | 
 |  | 
 | The WebRTC effort is being standardized on an API level at the W3C and at the | 
 | protocol level at the IETF. | 
 |  | 
 |  | 
 | ### Why should I use WebRTC? | 
 |  | 
 | We think you'll want to build your next video-chat style application using | 
 | WebRTC. Here's why: | 
 |  | 
 |   * A key factor in the success of the web is that its core technologies -- | 
 |     such as HTML, HTTP, and TCP/IP -- are open and freely implementable. | 
 |     Currently, there is no free, high-quality, complete solution available | 
 |     that enables communication in the browser. WebRTC enables this. | 
 |  | 
 |   * Already integrated with best-of-breed voice and video engines that have | 
 |     been deployed on millions of endpoints over the last 8+ years. Google does | 
 |     not charge royalties for WebRTC. | 
 |  | 
 |   * Includes and abstracts key NAT and firewall traversal technology, using | 
 |     STUN, ICE, TURN, RTP-over-TCP and support for proxies. | 
 |  | 
 |   * Builds on the strength of the web browser: WebRTC abstracts signaling by | 
 |     offering a signaling state machine that maps directly to `PeerConnection`. | 
 |     Web developers can therefore choose the protocol of choice for their usage | 
 |     scenario (for example, but not limited to, SIP, XMPP/Jingle, et al.). | 
 |  | 
 |  | 
 | ### What is the Opus audio codec? | 
 |  | 
 | [Opus][opus-link] is a royalty-free audio codec defined by IETF | 
 | RFC 6176.  It supports constant and variable bitrate encoding from 6 kbit/s to | 
 | 510 kbit/s, frame sizes from 2.5 ms to 60 ms, and various sampling rates from | 
 | 8 kHz (with 4 kHz bandwidth) to 48 kHz (with 20 kHz bandwidth, where the | 
 | entire hearing range of the human auditory system can be reproduced). | 
 |  | 
 | [opus-link]: http://opus-codec.org/ | 
 |  | 
 | ### What is the iSAC audio codec? | 
 |  | 
 | iSAC is a robust, bandwidth-adaptive, wideband and super-wideband voice codec | 
 | developed by Global IP Solutions, and is used in many Voice over IP (VoIP) and | 
 | streaming audio applications. iSAC is used by industry leaders in hundreds of | 
 | millions of VoIP endpoints. This codec is included as part of the WebRTC | 
 | project. | 
 |  | 
 |  | 
 | ### What is the VP8 video codec? | 
 |  | 
 | VP8 is a highly-efficient video compression technology developed by the WebM Project. It is the video codec included with WebRTC. | 
 |  | 
 | ### What is the VP9 video codec? | 
 |  | 
 | Similar to VP8, VP9 is also from the WebM Project. Its a next-generation open video codec. From Chrome 48 on desktop and Android, VP9 will be an optional video codec for video calls. More details in [Google Developers][vp9-link]. | 
 |  | 
 | [vp9-link]: https://developers.google.com/web/updates/2016/01/vp9-webrtc/ | 
 |  | 
 | ### What other components are included in the WebRTC package? | 
 |  | 
 | #### Audio | 
 |  | 
 | WebRTC offers a complete stack for voice communications. It includes not only | 
 | the necessary codecs, but other components necessary to great user | 
 | experiences. This includes software-based acoustic echo cancellation (AEC), | 
 | automatic gain control (AGC), noise reduction, noise suppression, and | 
 | hardware access and control across multiple platforms. | 
 |  | 
 |  | 
 | #### Video | 
 |  | 
 | The WebRTC project builds on the VP8 codec, introduced in 2010 as part of the | 
 | [WebM Project][webm-link]. It includes components to conceal | 
 | packet loss and clean up noisy images, as well as capture and playback | 
 | capabilities across multiple platforms. | 
 |  | 
 | [webm-link]: http://www.webmproject.org/ | 
 |  | 
 | #### Network | 
 |  | 
 | Dynamic jitter buffers and error concealment techniques are included for audio | 
 | and video, which help mitigate the effects of packet loss and unreliable | 
 | networks. Also included are components for establishing a peer-to-peer | 
 | connection using ICE / STUN / Turn / RTP-over-TCP and support for proxies. | 
 |  | 
 |  | 
 | ### How do I access the WebRTC code? | 
 |  | 
 | Go to [https://webrtc.googlesource.com/src][webrtc-repo-link]. | 
 |  | 
 | [webrtc-repo-link]: https://webrtc.googlesource.com/src | 
 |  | 
 |  | 
 | ### How can I test the quality of WebRTC components? | 
 |  | 
 | We have put sample applications [here][examples-link]. | 
 |  | 
 | [examples-link]: https://webrtc.googlesource.com/src/+/refs/heads/main/docs/native-code/development/README.md#example-applications | 
 |  | 
 |  | 
 | ### Are WebRTC components subject to change? | 
 |  | 
 | WebRTC is based on a API that is still under development through efforts at | 
 | WHATWG, W3C and IETF. We hope to get to a stable API once a few browser | 
 | vendors have implementations ready for testing. Once the API is stable, our | 
 | goal will be to offer backwards compatibility and interoperability. The WebRTC | 
 | API layer will be our main focus for stability and interoperability. The | 
 | components under it may be modified to improve quality, performance and | 
 | feature set. | 
 |  | 
 |  | 
 | ### WebRTC components are open-source. How do I get the source and contribute code? | 
 |  | 
 | Please see [Getting Started][getting-started-link] and | 
 | [Contributing bug fixes][contributing-link] for more information. | 
 |  | 
 | [getting-started-link]: https://webrtc.googlesource.com/src/+/main/docs/native-code/development/ | 
 | [contributing-link]: https://webrtc.org/support/contributing | 
 |  | 
 |  | 
 | ### To be a Contributor, do I need to sign any agreements? | 
 |  | 
 | Yes, each Contributor must sign and return the | 
 | [Contributor License Agreement][cla-link] | 
 |  | 
 | [cla-link]: https://developers.google.com/open-source/cla/individual?hl=en | 
 |  | 
 | ### How can I become a WebRTC committer? | 
 |  | 
 | The process of becoming a committer is documented in a | 
 | [separate page][become-a-committer]. | 
 |  | 
 | [become-a-committer]: https://webrtc.googlesource.com/src/+/refs/heads/main/g3doc/become_a_committer.md | 
 |  | 
 | ### Do I have to be a programmer to use WebRTC? | 
 |  | 
 | Yes, to build WebRTC support into a software application or contribute | 
 | improvements, programming skills are required. However, usage of the | 
 | JavaScript APIs that call WebRTC in the browsers will only require typical web | 
 | development skills. | 
 |  | 
 |  | 
 | ### Is the WebRTC project owned by Google or is it independent? | 
 |  | 
 | WebRTC is an open-source project supported by Google, Mozilla and Opera. The | 
 | API and underlying protocols are being developed jointly at the W3C and IETF. | 
 |  | 
 |  | 
 | ### Are the WebRTC components from Google's acquisition of Global IP Solutions? | 
 |  | 
 | Yes. Some components, such as VoiceEngine, VideoEngine, NetEQ, AEC, et al. all | 
 | stem from the GIPS acquisition. | 
 |  | 
 |  | 
 | ### What codecs are supported in WebRTC? | 
 |  | 
 | The currently supported voice codecs are G.711, G.722, and Opus, while VP8 | 
 | is the supported video codec. The list of supported codecs may change in the | 
 | future. | 
 |  | 
 |  | 
 | ### Please explain how WebRTC is free of charge? | 
 |  | 
 | Some software frameworks, voice and video codecs require end-users, | 
 | distributors and manufacturers to pay patent royalties to use the intellectual | 
 | property within the software technology and/or codec. Google is not charging | 
 | royalties for WebRTC and its components including the codecs it supports (VP8 | 
 | for video and iSAC and iLBC for audio).  For more information, see the [License | 
 | page][license-link]. | 
 |  | 
 | [license-link]: https://webrtc.googlesource.com/src/+/main/LICENSE | 
 |  | 
 |  | 
 | ### What does this license let me do? | 
 |  | 
 | Like most BSD licenses, this license allows you to use the WebRTC code with a | 
 | minimum of restrictions on your use. You can use the code in proprietary | 
 | software as well as open source software. | 
 |  | 
 |  | 
 | ### Do I need to release the source if I make changes? | 
 |  | 
 | No, the license does not require you to release source if you make changes. | 
 | However, we would love to see any changes you make and possibly incorporate | 
 | them, so if you want to participate please visit the | 
 | [code review page][code-review-link] and submit some patches. | 
 |  | 
 | [code-review-link]: https://webrtc-review.googlesource.com/ | 
 |  | 
 |  | 
 | ### Why is there a separate patent grant? | 
 |  | 
 | In order to decouple patents from copyright, thus preserving the pure BSD | 
 | nature of the copyright license, the license and the patent grant are | 
 | separate. This means we are using a standard (BSD) open source copyright | 
 | license, and the patent grant can exist on its own. This makes WebRTC | 
 | compatible with all major license scenarios. | 
 |  | 
 |  | 
 | ### What if someone gets the code from Google and gives it to me without changes. Do I have a patent grant from Google? | 
 |  | 
 | Yes, you still have the right to redistribute and you still have a patent | 
 | license for Google's patents that cover the code that Google released. | 
 |  | 
 |  | 
 | ### What if someone makes a change to the code and gives it to me. Do I have a patent license from Google for that change? | 
 |  | 
 | You still have the right to redistribute but no patent license for the changes | 
 | (if there are any patents covering it). We can't give patent licenses for | 
 | changes people make after we distribute the code, as we have no way to predict | 
 | what those changes will be. Other common licenses take the same approach, | 
 | including the Apache license. | 
 |  | 
 |  | 
 | ### What if Google receives or buys a patent that covers the code I receive sometime after I receive the code. Do I have a patent grant for that patent? | 
 |  | 
 | Yes, you still have the right to redistribute and you still have a patent | 
 | license for Google's patents that cover the code that Google released. | 
 |  | 
 |  | 
 | ### What if my competitor uses the code and brings patent litigation against me for something unrelated to the code. Do they still have a patent license? | 
 |  | 
 | Yes, they still have the right to redistribute and they still have a patent | 
 | license for Google's patents that cover the code that Google released. |