UNPKG

rtcmulticonnection

Version:

RTCMultiConnection is a WebRTC JavaScript wrapper library runs top over RTCPeerConnection API to support all possible peer-to-peer features.

501 lines (435 loc) 28.8 kB
<!-- Demo version: 2018.10.01 --> <!DOCTYPE html> <html lang="en" dir="ltr"> <head> <meta charset="utf-8"> <title>RTCMultiConnection Demos</title> <link rel="canonical" href="/demos/"> <meta name="google-site-verification" content="zhJ273gZGLJ_Cbl-muzPYYTR6jD7sCCgufDIRS5h4SE" /> <meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0"> <link rel="shortcut icon" href="/demos/logo.png"> <link rel="stylesheet" href="/demos/stylesheet.css"> <script src="/demos/menu.js"></script> <style> .search-container { text-align: left; margin: -2em 5%; margin-top: 0; } .search-container input { background-color: transparent; } .search-container td { border: 0; vertical-align: top; padding: 0; border-top: none; border-right: none; } .table-style { border-collapse: collapse; border-spacing: 0px; margin-top: 0px; margin-bottom: 16px; display: block; overflow: auto; word-break: normal; color: rgb(51, 51, 51); font-family: 'Helvetica Neue', Helvetica, 'Segoe UI', Arial, freesans, sans-serif; font-size: 16px; line-height: 25.6000003814697px; margin-top: 10px; margin-left: 20px; } .tr-style { border-top-width: 1px; border-top-style: solid; border-top-color: rgb(204, 204, 204); background-color: rgb(248, 248, 248); } .td-style { padding: 6px 13px; border: 1px solid rgb(221, 221, 221); } .td-style2 { color: rgb(65, 131, 196); text-decoration: none; background: transparent; } .github-button { color: #24292e!important; font-size: 11px!important; font-weight: 600!important; } .table-style { min-width: 60%!important; display: table!important; text-align: left!important; } .table-style-container {} </style> </head> <body> <header> <a class="logo" href="/demos/"><img src="/demos/logo.png" alt="RTCMultiConnection"></a> <a href="/demos/" class="menu-explorer">Menu<img src="/demos/menu-icon.png" alt="Menu"></a> <nav> <li> <a href="/demos/">Home</a> </li> <li> <a href="https://www.rtcmulticonnection.org/docs/getting-started/">Getting Started</a> </li> <li> <a href="https://www.rtcmulticonnection.org/FAQ/">FAQ</a> </li> <li> <a href="https://www.youtube.com/playlist?list=PLPRQUXAnRydKdyun-vjKPMrySoow2N4tl">YouTube</a> </li> <li> <a href="https://rtcmulticonnection.herokuapp.com/demos/">Demos</a> </li> <li> <a href="https://github.com/muaz-khan/RTCMultiConnection/wiki">Wiki</a> </li> <li> <a href="https://github.com/muaz-khan/RTCMultiConnection">Github</a> </li> </nav> </header> <h1> RTCMultiConnection Demos <p class="no-mobile"> RTCMultiConnection is a WebRTC JavaScript library for peer-to-peer applications (screen sharing, audio/video conferencing, file sharing, media streaming etc.) </p> </h1> <section id="demos" style="text-align:center;" class="no-mobile"> <h2> <a href="https://www.npmjs.com/package/rtcmulticonnection"><img src="https://img.shields.io/npm/v/rtcmulticonnection.svg" /></a> <a class="github-button" href="https://github.com/muaz-khan/RTCMultiConnection" data-show-count="true" aria-label="Star muaz-khan/RTCMultiConnection on GitHub">Star</a> <a class="github-button" href="https://github.com/muaz-khan/RTCMultiConnection/issues" data-show-count="true" aria-label="Issue muaz-khan/RTCMultiConnection on GitHub">Issue</a> <a class="github-button" href="https://github.com/muaz-khan/RTCMultiConnection/fork" data-show-count="true" aria-label="Fork muaz-khan/RTCMultiConnection on GitHub">Fork</a> <a class="github-button" href="https://github.com/muaz-khan" data-show-count="true" aria-label="Follow @muaz-khan on GitHub">Follow @muaz-khan</a> <a href="https://travis-ci.org/muaz-khan/RTCMultiConnection"><img src="https://travis-ci.org/muaz-khan/RTCMultiConnection.png?branch=master" /></a> </h2> </section> <section id="featured" class="table-style-container"> <h2> <a href="#featured">Featured Demos</a> <a class="github-button" href="https://github.com/muaz-khan/RTCMultiConnection/archive/master.zip" aria-label="Download muaz-khan/RTCMultiConnection on GitHub">RTCMultiConnection.zip</a> </h2> <table class="table-style"> <thead> <tr> <th class="td-style">RTCMultiConnection Demo Title</th> <th class="td-style">Demo</th> <th class="td-style">Source</th> </tr> </thead> <tbody> <tr class="tr-style" style="background: #e4f6ff;"> <td class="td-style">Video Conferencing (MANY_TO_MANY)</td> <td class="td-style"><a href="/demos/Video-Conferencing.html" class="td-style2">Demo</a></td> <td class="td-style"><a href="https://github.com/muaz-khan/RTCMultiConnection/tree/master/demos/Video-Conferencing.html" class="td-style2">Source</a></td> </tr> <tr class="tr-style" style="background: #e4f6ff;"> <td class="td-style">Dashboard + Video Conferencing + Chat + File Sharing</td> <td class="td-style"><a href="/demos/dashboard.html" class="td-style2">Demo</a></td> <td class="td-style"><a href="https://github.com/muaz-khan/RTCMultiConnection/tree/master/demos/dashboard.html" class="td-style2">Source</a></td> </tr> <tr class="tr-style" style="background: #e4f6ff;"> <td class="td-style">Scalable Audio/Video Broadcast</td> <td class="td-style"><a href="/demos/Scalable-Broadcast.html" class="td-style2">Demo</a></td> <td class="td-style"><a href="https://github.com/muaz-khan/RTCMultiConnection/tree/master/demos/Scalable-Broadcast.html" class="td-style2">Source</a></td> </tr> <tr class="tr-style"> <td class="td-style">Call A User Using His User-ID (UserName)</td> <td class="td-style"><a href="/demos/Call-By-UserName.html" class="td-style2">Demo</a></td> <td class="td-style"><a href="https://github.com/muaz-khan/RTCMultiConnection/tree/master/demos/Call-By-UserName.html" class="td-style2">Source</a></td> </tr> <tr class="tr-style"> <td class="td-style">Video + Screen Sharing</td> <td class="td-style"><a href="/demos/video-and-screen-sharing.html" class="td-style2">Demo</a></td> <td class="td-style"><a href="https://github.com/muaz-khan/RTCMultiConnection/tree/master/demos/video-and-screen-sharing.html" class="td-style2">Source</a></td> </tr> <tr class="tr-style"> <td class="td-style">MCU inside the browser!</td> <td class="td-style"><a href="/demos/MCU.html" class="td-style2">Demo</a></td> <td class="td-style"><a href="https://github.com/muaz-khan/RTCMultiConnection/tree/master/demos/MCU.html" class="td-style2">Source</a></td> </tr> <tr class="tr-style"> <td class="td-style">SFU inside the browser!</td> <td class="td-style"><a href="/demos/SFU.html" class="td-style2">Demo</a></td> <td class="td-style"><a href="https://github.com/muaz-khan/RTCMultiConnection/tree/master/demos/SFU.html" class="td-style2">Source</a></td> </tr> <tr class="tr-style"> <td class="td-style">getStats / WebRTC getStats API</td> <td class="td-style"><a href="/demos/getStats.html" class="td-style2">Demo</a></td> <td class="td-style"><a href="https://github.com/muaz-khan/RTCMultiConnection/tree/master/demos/getStats.html" class="td-style2">Source</a></td> </tr> <tr class="tr-style"> <td class="td-style">Audio+Video+TextChat+FileSharing</td> <td class="td-style"><a href="/demos/Audio+Video+TextChat+FileSharing.html" class="td-style2">Demo</a></td> <td class="td-style"><a href="https://github.com/muaz-khan/RTCMultiConnection/tree/master/demos/Audio+Video+TextChat+FileSharing.html" class="td-style2">Source</a></td> </tr> <tr class="tr-style"> <td class="td-style">Video Broadcasting (ONE_TO_MANY)</td> <td class="td-style"><a href="/demos/Video-Broadcasting.html" class="td-style2">Demo</a></td> <td class="td-style"><a href="https://github.com/muaz-khan/RTCMultiConnection/tree/master/demos/video-broadcasting.html" class="td-style2">Source</a></td> </tr> <tr class="tr-style"> <td class="td-style">Fix play/pause bugs using autoCreateMediaElement</td> <td class="td-style"><a href="/demos/autoCreateMediaElement.html" class="td-style2">Demo</a></td> <td class="td-style"><a href="https://github.com/muaz-khan/RTCMultiConnection/tree/master/demos/autoCreateMediaElement.html" class="td-style2">Source</a></td> </tr> <tr class="tr-style"> <td class="td-style">WebRTC Scalable Broadcast</td> <td class="td-style"><a href="/demos/Scalable-Broadcast.html" class="td-style2">Demo</a></td> <td class="td-style"><a href="https://github.com/muaz-khan/RTCMultiConnection/tree/master/demos/Scalable-Broadcast.html" class="td-style2">Source</a></td> </tr> <tr class="tr-style"> <td class="td-style">WebRTC Scalable Video Conferencing</td> <td class="td-style"><a href="/demos/Scalable-Video-Conferencing.html" class="td-style2">Demo</a></td> <td class="td-style"><a href="https://github.com/muaz-khan/RTCMultiConnection/tree/master/demos/Scalable-Video-Conferencing.html" class="td-style2">Source</a></td> </tr> <tr class="tr-style"> <td class="td-style">File Sharing</td> <td class="td-style"><a href="/demos/file-sharing.html" class="td-style2">Demo</a></td> <td class="td-style"><a href="https://github.com/muaz-khan/RTCMultiConnection/blob/master/demos/file-sharing.html" class="td-style2">Source</a></td> </tr> <tr class="tr-style"> <td class="td-style">Pre-recorded media streaming (webm/mp3 live streaming)</td> <td class="td-style"><a href="/demos/Pre-recorded-Media-Streaming.html" class="td-style2">Demo</a></td> <td class="td-style"><a href="https://github.com/muaz-khan/RTCMultiConnection/blob/master/demos/Pre-recorded-Media-Streaming.html" class="td-style2">Source</a></td> </tr> </tbody> </table> </section> <section id="scalable-broadcast" class="table-style-container"> <h2> <a href="#scalable-broadcast">Scalable Broadcast Demos</a> </h2> <table class="table-style"> <thead> <tr> <th class="td-style">RTCMultiConnection Demo Title</th> <th class="td-style">Demo</th> <th class="td-style">Source</th> </tr> </thead> <tbody> <tr class="tr-style" style="background: #e4f6ff;"> <td class="td-style">Scalable Audio/Video Broadcast</td> <td class="td-style"><a href="/demos/Scalable-Broadcast.html" class="td-style2">Demo</a></td> <td class="td-style"><a href="https://github.com/muaz-khan/RTCMultiConnection/tree/master/demos/Scalable-Broadcast.html" class="td-style2">Source</a></td> </tr> <tr class="tr-style"> <td class="td-style">Scalable Screen Broadcast</td> <td class="td-style"><a href="/demos/Scalable-Screen-Broadcast.html" class="td-style2">Demo</a></td> <td class="td-style"><a href="https://github.com/muaz-khan/RTCMultiConnection/tree/master/demos/Scalable-Screen-Broadcast.html" class="td-style2">Source</a></td> </tr> <tr class="tr-style"> <td class="td-style">Scalable Video Broadcast</td> <td class="td-style"><a href="/demos/Video-Scalable-Broadcast.html" class="td-style2">Demo</a></td> <td class="td-style"><a href="https://github.com/muaz-khan/RTCMultiConnection/tree/master/demos/Video-Scalable-Broadcast.html" class="td-style2">Source</a></td> </tr> <tr class="tr-style"> <td class="td-style">Scalable File Sharing</td> <td class="td-style"><a href="/demos/Files-Scalable-Broadcast.html" class="td-style2">Demo</a></td> <td class="td-style"><a href="https://github.com/muaz-khan/RTCMultiConnection/tree/master/demos/Files-Scalable-Broadcast.html" class="td-style2">Source</a></td> </tr> <tr class="tr-style"> <td class="td-style">Scalable Screen+Audio Broadcast</td> <td class="td-style"><a href="/demos/Scalable-Screen-plus-Audio-Broadcast.html" class="td-style2">Demo</a></td> <td class="td-style"><a href="https://github.com/muaz-khan/RTCMultiConnection/tree/master/demos/Scalable-Screen-plus-Audio-Broadcast.html" class="td-style2">Source</a></td> </tr> </tbody> </table> </section> <section id="demos" class="table-style-container"> <h2> <a href="#demos">Other Demos</a> </h2> <table class="table-style"> <thead> <tr> <th class="td-style">RTCMultiConnection Demo Title</th> <th class="td-style">Demo</th> <th class="td-style">Source</th> </tr> </thead> <tbody> <tr class="tr-style" style="background: #e4f6ff;"> <td class="td-style">Audio Conferencing</td> <td class="td-style"><a href="/demos/Audio-Conferencing.html" class="td-style2">Demo</a></td> <td class="td-style"><a href="https://github.com/muaz-khan/RTCMultiConnection/tree/master/demos/Audio-Conferencing.html" class="td-style2">Source</a></td> </tr> <tr class="tr-style"> <td class="td-style">SSE+PHP Signaling (using Server Sent Events)</td> <td class="td-style"><a href="/demos/SSEConnection.html" class="td-style2">Demo</a></td> <td class="td-style"><a href="https://github.com/muaz-khan/RTCMultiConnection/tree/master/demos/SSEConnection.html" class="td-style2">Source</a></td> </tr> <tr class="tr-style"> <td class="td-style">Zoom Camera during WebRTC Live Streaming</td> <td class="td-style"><a href="/demos/camera-zoom.html" class="td-style2">Demo</a></td> <td class="td-style"><a href="https://github.com/muaz-khan/RTCMultiConnection/tree/master/demos/camera-zoom.html" class="td-style2">Source</a></td> </tr> <tr class="tr-style"> <td class="td-style">One-to-One Video Chat</td> <td class="td-style"><a href="/demos/One-to-One.html" class="td-style2">Demo</a></td> <td class="td-style"><a href="https://github.com/muaz-khan/RTCMultiConnection/tree/master/demos/One-to-One.html" class="td-style2">Source</a></td> </tr> <tr class="tr-style"> <td class="td-style">Vuejs Video Conferencing</td> <td class="td-style"><a href="/demos/vuejs-video-conferencing.html" class="td-style2">Demo</a></td> <td class="td-style"><a href="https://github.com/muaz-khan/RTCMultiConnection/tree/master/demos/vuejs-video-conferencing.html" class="td-style2">Source</a></td> </tr> <tr class="tr-style"> <td class="td-style">Multi-Broadcasters and Many-Viewers</td> <td class="td-style"><a href="/demos/Multi-Broadcasters-and-Many-Viewers.html" class="td-style2">Demo</a></td> <td class="td-style"><a href="https://github.com/muaz-khan/RTCMultiConnection/tree/master/demos/Multi-Broadcasters-and-Many-Viewers.html" class="td-style2">Source</a></td> </tr> <tr class="tr-style"> <td class="td-style">TextChat & FileSharing</td> <td class="td-style"><a href="/demos/TextChat+FileSharing.html" class="td-style2">Demo</a></td> <td class="td-style"><a href="https://github.com/muaz-khan/RTCMultiConnection/tree/master/demos/TextChat+FileSharing.html" class="td-style2">Source</a></td> </tr> <tr class="tr-style"> <td class="td-style">TextChat Translation</td> <td class="td-style"><a href="/demos/Translate-TextChat.html" class="td-style2">Demo</a></td> <td class="td-style"><a href="https://github.com/muaz-khan/RTCMultiConnection/tree/master/demos/Translate-TextChat.html" class="td-style2">Source</a></td> </tr> <tr class="tr-style"> <td class="td-style">Add/enable videos later in chat-rooms</td> <td class="td-style"><a href="/demos/addStream-in-Chat-room.html" class="td-style2">Demo</a></td> <td class="td-style"><a href="https://github.com/muaz-khan/RTCMultiConnection/tree/master/demos/addStream-in-Chat-room.html" class="td-style2">Source</a></td> </tr> <tr class="tr-style"> <td class="td-style">Share region/portion/part of screen</td> <td class="td-style"><a href="/demos/share-part-of-screen.html" class="td-style2">Demo</a></td> <td class="td-style"><a href="https://github.com/muaz-khan/RTCMultiConnection/tree/master/demos/share-part-of-screen.html" class="td-style2">Source</a></td> </tr> <tr class="tr-style"> <td class="td-style">Audio alongwith screen sharing</td> <td class="td-style"><a href="/demos/Audio+ScreenSharing.html" class="td-style2">Demo</a></td> <td class="td-style"><a href="https://github.com/muaz-khan/RTCMultiConnection/tree/master/demos/Audio+ScreenSharing.html" class="td-style2">Source</a></td> </tr> <tr class="tr-style"> <td class="td-style">One-to-Many Screen Sharing</td> <td class="td-style"><a href="/demos/screen-sharing.html" class="td-style2">Demo</a></td> <td class="td-style"><a href="https://github.com/muaz-khan/RTCMultiConnection/tree/master/demos/screen-sharing.html" class="td-style2">Source</a></td> </tr> <tr class="tr-style"> <td class="td-style">Cross-domain Screen Capturing & Sharing</td> <td class="td-style"><a href="/demos/Cross-Domain-Screen-Capturing.html" class="td-style2">Demo</a></td> <td class="td-style"><a href="https://github.com/muaz-khan/RTCMultiConnection/tree/master/demos/Cross-Domain-Screen-Capturing.html" class="td-style2">Source</a></td> </tr> <tr class="tr-style"> <td class="td-style">Keep ReJoining Room</td> <td class="td-style"><a href="/demos/keep-rejoining.html" class="td-style2">Demo</a></td> <td class="td-style"><a href="https://github.com/muaz-khan/RTCMultiConnection/tree/master/demos/keep-rejoining.html" class="td-style2">Source</a></td> </tr> <tr class="tr-style"> <td class="td-style">Open/Close/Rejoin/Disconnect/Rejoin rooms without reloading page</td> <td class="td-style"><a href="/demos/Disconnect+Rejoin.html" class="td-style2">Demo</a></td> <td class="td-style"><a href="https://github.com/muaz-khan/RTCMultiConnection/tree/master/demos/Disconnect+Rejoin.html" class="td-style2">Source</a></td> </tr> <tr class="tr-style"> <td class="td-style">Password-protected rooms (Video Conferencing)</td> <td class="td-style"><a href="/demos/Password-Protected-Rooms.html" class="td-style2">Demo</a></td> <td class="td-style"><a href="https://github.com/muaz-khan/RTCMultiConnection/tree/master/demos/Password-Protected-Rooms.html" class="td-style2">Source</a></td> </tr> <tr class="tr-style"> <td class="td-style">Test RTPSender.replaceTrack API (only in Firefox)</td> <td class="td-style"><a href="/demos/replaceTrack.html" class="td-style2">Demo</a></td> <td class="td-style"><a href="https://github.com/muaz-khan/RTCMultiConnection/tree/master/demos/replaceTrack.html" class="td-style2">Source</a></td> </tr> <tr class="tr-style"> <td class="td-style">Change Video Resolutions in your Live Sessions</td> <td class="td-style"><a href="/demos/change-resolutions.html" class="td-style2">Demo</a></td> <td class="td-style"><a href="https://github.com/muaz-khan/RTCMultiConnection/tree/master/demos/change-resolutions.html" class="td-style2">Source</a></td> </tr> <tr class="tr-style"> <td class="td-style">Test MediaStreamTrack.applyConstraints API (only in Firefox)</td> <td class="td-style"><a href="/demos/applyConstraints.html" class="td-style2">Demo</a></td> <td class="td-style"><a href="https://github.com/muaz-khan/RTCMultiConnection/tree/master/demos/applyConstraints.html" class="td-style2">Source</a></td> </tr> <tr class="tr-style"> <td class="td-style">Video Conferencing using Firebase</td> <td class="td-style"><a href="/demos/Firebase-Demo.html" class="td-style2">Demo</a></td> <td class="td-style"><a href="https://github.com/muaz-khan/RTCMultiConnection/tree/master/demos/Firebase-Demo.html" class="td-style2">Source</a></td> </tr> <tr class="tr-style"> <td class="td-style">Video Conferencing using WebSocket</td> <td class="td-style"><a href="/demos/WebSocket-Demo.html" class="td-style2">Demo</a></td> <td class="td-style"><a href="https://github.com/muaz-khan/RTCMultiConnection/tree/master/demos/WebSocket-Demo.html" class="td-style2">Source</a></td> </tr> <tr class="tr-style"> <td class="td-style">Video Conferencing using PubNub</td> <td class="td-style"><a href="/demos/PubNub-Demo.html" class="td-style2">Demo</a></td> <td class="td-style"><a href="https://github.com/muaz-khan/RTCMultiConnection/tree/master/demos/PubNub-Demo.html" class="td-style2">Source</a></td> </tr> <tr class="tr-style"> <td class="td-style">Share custom-private messages among users using Socket.io</td> <td class="td-style"><a href="/demos/custom-socket-event.html" class="td-style2">Demo</a></td> <td class="td-style"><a href="https://github.com/muaz-khan/RTCMultiConnection/tree/master/demos/custom-socket-event.html" class="td-style2">Source</a></td> </tr> <tr class="tr-style"> <td class="td-style">Detect presence before opening or joining the room.</td> <td class="td-style"><a href="/demos/checkPresence.html" class="td-style2">Demo</a></td> <td class="td-style"><a href="https://github.com/muaz-khan/RTCMultiConnection/tree/master/demos/checkPresence.html" class="td-style2">Source</a></td> </tr> <tr class="tr-style"> <td class="td-style">Get list of all public moderators (rooms initiators)</td> <td class="td-style"><a href="/demos/getPublicModerators.html" class="td-style2">Demo</a></td> <td class="td-style"><a href="https://github.com/muaz-khan/RTCMultiConnection/tree/master/demos/getPublicModerators.html" class="td-style2">Source</a></td> </tr> <tr class="tr-style"> <td class="td-style">Switch/Change Cameras in a Live Conference</td> <td class="td-style"><a href="/demos/switch-cameras.html" class="td-style2">Demo</a></td> <td class="td-style"><a href="https://github.com/muaz-khan/RTCMultiConnection/tree/master/demos/switch-cameras.html" class="td-style2">Source</a></td> </tr> <tr class="tr-style"> <td class="td-style">Check if StreamHasData</td> <td class="td-style"><a href="/demos/StreamHasData.html" class="td-style2">Demo</a></td> <td class="td-style"><a href="https://github.com/muaz-khan/RTCMultiConnection/tree/master/demos/StreamHasData.html" class="td-style2">Source</a></td> </tr> <tr class="tr-style"> <td class="td-style">MultiRTC / Skype-like app</td> <td class="td-style"><a href="/demos/MultiRTC/" class="td-style2">Demo</a></td> <td class="td-style"><a href="https://github.com/muaz-khan/RTCMultiConnection/tree/master/demos/MultiRTC/" class="td-style2">Source</a></td> </tr> <tr class="tr-style"> <td class="td-style">Admin/Guest demo</td> <td class="td-style"><a href="/demos/admin-guest.html" class="td-style2">Demo</a></td> <td class="td-style"><a href="https://github.com/muaz-khan/RTCMultiConnection/tree/master/demos/admin-guest.html" class="td-style2">Source</a></td> </tr> <tr class="tr-style"> <td class="td-style">Audio+Video+Screen Sharing</td> <td class="td-style"><a href="/demos/Audio-Video-Screen.html" class="td-style2">Demo</a></td> <td class="td-style"><a href="https://github.com/muaz-khan/RTCMultiConnection/tree/master/demos/Audio-Video-Screen.html" class="td-style2">Source</a></td> </tr> </tbody> </table> </section> <section class="no-mobile"> <h2> How to install RTCMultiConnection? </h2> <p> <a href="https://www.youtube.com/watch?v=EtsiYEW_T8Y">https://www.youtube.com/watch?v=EtsiYEW_T8Y</a> </p> </section> <section class="no-mobile" class="no-mobile"> <h2>iOS or Android</h2> <p> You can write <a href="https://www.rtcmulticonnection.org/docs/Write-iOS-Apps/" target="_blank">iOS</a> or <a href="https://www.rtcmulticonnection.org/docs/Write-Android-Apps/" target="_blank">Android</a> apps for all demos. </p> </section> <footer> <small id="send-message"></small> </footer> <script async defer src="https://buttons.github.io/buttons.js"></script> <script async defer src="https://cdn.webrtc-experiment.com/common.js"></script> </body> </html>