Permalink
Browse files

video-conferencing, Signaling.md, RTCMultiConnection, RecordRTC, Mult…

…iRTC, getScreenId, Firefox-Extensions, FileBuferReader, Ffmpeg.js,

TURN doc + webrtcpedia, DetectRTC, switch-streams demo, Conversation.js,
Chrome-Extensions updated.
  • Loading branch information...
muaz-khan committed Apr 5, 2017
1 parent 201553a commit 7869874e543f17d6f83f7d7f79fc578ab68aa781
Showing with 39,407 additions and 9,693 deletions.
  1. +13 −27 Chrome-Extensions/README.md
  2. +55 −0 Chrome-Extensions/desktopCapture-p2p/IceServersHandler.js
  3. +6 −44 Chrome-Extensions/desktopCapture-p2p/README.md
  4. +100 −113 Chrome-Extensions/desktopCapture-p2p/desktop-capturing.js
  5. +44 −33 Chrome-Extensions/desktopCapture-p2p/manifest.json
  6. +4 −12 Chrome-Extensions/desktopCapture-p2p/viewer.html
  7. +13 −3 Chrome-Extensions/screen-recording/RecordRTC.min.js
  8. +153 −79 Chrome-Extensions/screen-recording/background.js
  9. +4 −3 Chrome-Extensions/screen-recording/manifest.json
  10. +19 −7 Chrome-Extensions/screen-recording/options.html
  11. +25 −12 Chrome-Extensions/screen-recording/options.js
  12. +1 −1 Conversation.js/AndroidRTC/scripts/common-signaling.js
  13. +2 −6 Conversation.js/README.md
  14. +1 −1 Conversation.js/demos/common-signaling.js
  15. +74 −0 Conversation.js/server.js
  16. +12 −3 DetectRTC/.npmignore
  17. +113 −61 DetectRTC/DetectRTC.js
  18. +2 −2 DetectRTC/DetectRTC.min.js
  19. +1 −1 DetectRTC/README.md
  20. +1 −1 DetectRTC/bower.json
  21. +6 −3 DetectRTC/dev/CheckDeviceSupport.js
  22. +28 −9 DetectRTC/dev/DetectRTC.js
  23. +6 −0 DetectRTC/dev/common.js
  24. +6 −4 DetectRTC/dev/detectDesktopOS.js
  25. +22 −4 DetectRTC/dev/detectOSName.js
  26. +50 −44 DetectRTC/dev/detectPrivateBrowsing.js
  27. +26 −7 DetectRTC/index.html
  28. +4 −7 DetectRTC/npm-test.js
  29. +1 −1 DetectRTC/package.json
  30. +19 −3 FileBufferReader/.gitignore
  31. +11 −0 FileBufferReader/.travis.yml
  32. +12 −2 FileBufferReader/FileBufferReader.js
  33. +2 −2 FileBufferReader/FileBufferReader.min.js
  34. +6 −0 FileBufferReader/dev/FileBufferReader.js
  35. +5 −1 FileBufferReader/dev/binarize.js
  36. +2 −2 Firefox-Extensions/enable-screen-capturing/index.js
  37. +1 −1 Firefox-Extensions/enable-screen-capturing/package.json
  38. +21 −0 MultiRTC/.gitignore
  39. +1,160 −0 MultiRTC/MultiRTC-firebase/FileBufferReader.js
  40. +6,683 −0 MultiRTC/MultiRTC-firebase/RTCMultiConnection.js
  41. +128 −0 MultiRTC/MultiRTC-firebase/firebase.js
  42. +3 −2 MultiRTC/MultiRTC-firebase/index.html
  43. +2 −0 MultiRTC/MultiRTC-socketio/README.md
  44. +1,160 −0 MultiRTC/MultiRTC-socketio/public/FileBufferReader.js
  45. +6,683 −0 MultiRTC/MultiRTC-socketio/public/RTCMultiConnection.js
  46. +5 −6 MultiRTC/MultiRTC-socketio/public/index.html
  47. +9 −0 MultiRTC/MultiRTC-socketio/public/ui.main.js
  48. +6 −0 MultiRTC/MultiRTC-socketio/public/ui.peer-connection.js
  49. +11 −5 MultiRTC/MultiRTC-socketio/signaler.js
  50. +1,160 −0 MultiRTC/MultiRTC-websocket/FileBufferReader.js
  51. +6,683 −0 MultiRTC/MultiRTC-websocket/RTCMultiConnection.js
  52. +5 −4 MultiRTC/MultiRTC-websocket/index.html
  53. +2 −1 MultiRTC/MultiRTC-websocket/ui.peer-connection.js
  54. +416 −367 README.md
  55. +3 −3 RTCMultiConnection/Gruntfile.js
  56. +5 −1 RTCMultiConnection/README.md
  57. +21 −16 RTCMultiConnection/Signaling-Server.js
  58. +1 −1 RTCMultiConnection/bower.json
  59. +5 −4 RTCMultiConnection/demos/Audio-Conferencing.html
  60. +331 −293 RTCMultiConnection/demos/{Videos-Layout.html → Audio-Video-Screen.html}
  61. +0 −1 RTCMultiConnection/demos/Firebase-Demo.html
  62. +2 −2 RTCMultiConnection/demos/Pre-recorded-Media-Streaming.html
  63. +0 −1 RTCMultiConnection/demos/PubNub-Demo.html
  64. +7 −1 RTCMultiConnection/demos/README.md
  65. +182 −0 RTCMultiConnection/demos/SSEConnection.html
  66. +18 −0 RTCMultiConnection/demos/SSEConnection/README.md
  67. +28 −0 RTCMultiConnection/demos/SSEConnection/SSE.php
  68. +32 −0 RTCMultiConnection/demos/SSEConnection/enableCORS.php
  69. +22 −0 RTCMultiConnection/demos/SSEConnection/get-param.php
  70. +20 −0 RTCMultiConnection/demos/SSEConnection/publish.php
  71. +20 −0 RTCMultiConnection/demos/SSEConnection/rooms/README.md
  72. +92 −0 RTCMultiConnection/demos/SSEConnection/write-json.php
  73. +417 −505 RTCMultiConnection/demos/Scalable-Broadcast.html
  74. +224 −0 RTCMultiConnection/demos/Scalable-Video-Conferencing.html
  75. +219 −286 RTCMultiConnection/demos/Video-Conferencing.html
  76. +285 −0 RTCMultiConnection/demos/WebSocket-Demo.html
  77. +31 −1 RTCMultiConnection/demos/index.html
  78. +169 −0 RTCMultiConnection/demos/keep-rejoining.html
  79. BIN RTCMultiConnection/demos/logo.png
  80. +124 −0 RTCMultiConnection/demos/stylesheet.css
  81. +47 −24 RTCMultiConnection/demos/switch-cameras.html
  82. +113 −64 RTCMultiConnection/dev/DetectRTC.js
  83. +1 −1 RTCMultiConnection/dev/FileProgressBarHandler.js
  84. +4 −0 RTCMultiConnection/dev/FirebaseConnection.js
  85. +25 −89 RTCMultiConnection/dev/IceServersHandler.js
  86. +2 −2 RTCMultiConnection/dev/MultiPeersHandler.js
  87. +4 −0 RTCMultiConnection/dev/PubNubConnection.js
  88. +16 −4 RTCMultiConnection/dev/RTCMultiConnection.js
  89. +26 −8 RTCMultiConnection/dev/RTCPeerConnection.js
  90. +238 −0 RTCMultiConnection/dev/SSEConnection.js
  91. +232 −0 RTCMultiConnection/dev/WebSocketConnection.js
  92. +10 −2 RTCMultiConnection/dev/globals.js
  93. +3 −0 RTCMultiConnection/dev/ios-hacks.js
  94. +201 −175 RTCMultiConnection/dist/RTCMultiConnection.js
  95. +8 −8 RTCMultiConnection/dist/RTCMultiConnection.min.js
  96. +4 −1 RTCMultiConnection/docs/api.md
  97. +1 −1 RTCMultiConnection/docs/how-to-use.md
  98. +62 −63 RTCMultiConnection/docs/ios-android.md
  99. +159 −0 RTCMultiConnection/docs/tips-tricks.md
  100. +1 −1 RTCMultiConnection/package.json
  101. +31 −13 RTCMultiConnection/server.js
  102. +2 −2 RTCMultiConnection/v2.2.2/demos/AppRTC-Look.html
  103. +54 −36 RTCMultiConnection/v2.2.2/demos/Broadcast-Multiple-Cameras.html
  104. +1 −1 RTCMultiConnection/v2.2.2/demos/admin-guest.html
  105. +1 −1 RTCMultiConnection/v2.2.2/demos/videoconferencing.html
  106. +11 −3 RecordRTC/.npmignore
  107. +8 −4 RecordRTC/Gruntfile.js
  108. +13 −1 RecordRTC/MRecordRTC/index.html
  109. +1 −1 RecordRTC/PHP-and-FFmpeg/README.md
  110. +87 −93 RecordRTC/PHP-and-FFmpeg/index.html
  111. +1 −1 RecordRTC/PHP-and-FFmpeg/save.php
  112. +1 −1 RecordRTC/PHP-and-FFmpeg/uploads/README.md
  113. +164 −15 RecordRTC/README.md
  114. +7 −19 RecordRTC/RecordRTC-to-ASPNETMVC/README.md
  115. +2 −3 RecordRTC/RecordRTC-to-ASPNETMVC/RecordRTC_to_ASPNETMVC/Controllers/RecordRTCController.cs
  116. +21 −142 RecordRTC/RecordRTC-to-ASPNETMVC/RecordRTC_to_ASPNETMVC/Views/RecordRTC/Index.cshtml
  117. +18 −11 RecordRTC/RecordRTC-to-PHP/README.md
  118. +33 −7 RecordRTC/RecordRTC-to-PHP/delete.php
  119. +13 −1 RecordRTC/RecordRTC-to-PHP/index.html
  120. +50 −14 RecordRTC/RecordRTC-to-PHP/save.php
  121. +1 −1 RecordRTC/RecordRTC-to-PHP/uploads/README.md
  122. +893 −120 RecordRTC/RecordRTC.js
  123. +6 −6 RecordRTC/RecordRTC.min.js
  124. 0 RecordRTC/{webgl → WebGL-Recording}/README.md
  125. BIN RecordRTC/{webgl → WebGL-Recording}/assets/DST-Canopy.mp3
  126. BIN RecordRTC/{webgl → WebGL-Recording}/assets/DST-Canopy.ogg
  127. BIN RecordRTC/{webgl → WebGL-Recording}/assets/blank.cur
  128. +198 −198 RecordRTC/{webgl → WebGL-Recording}/assets/duck.dae
  129. BIN RecordRTC/{webgl → WebGL-Recording}/assets/duck.png
  130. BIN RecordRTC/{webgl → WebGL-Recording}/assets/duckCM.png
  131. BIN RecordRTC/{webgl → WebGL-Recording}/assets/icon.png
  132. BIN RecordRTC/{webgl → WebGL-Recording}/assets/pickup.mp3
  133. BIN RecordRTC/{webgl → WebGL-Recording}/assets/pickup.ogg
  134. BIN RecordRTC/{webgl → WebGL-Recording}/assets/planeDiffuse.png
  135. 0 RecordRTC/{webgl → WebGL-Recording}/assets/scene.xml
  136. 0 RecordRTC/{webgl → WebGL-Recording}/assets/seymourplane_triangulate.dae
  137. 0 RecordRTC/{webgl → WebGL-Recording}/assets/target.dae
  138. BIN RecordRTC/{webgl → WebGL-Recording}/assets/waterheight.jpg
  139. BIN RecordRTC/{webgl → WebGL-Recording}/assets/waternormal.jpg
  140. 0 RecordRTC/{webgl → WebGL-Recording}/index.html
  141. 0 RecordRTC/{webgl → WebGL-Recording}/logic.js
  142. 0 RecordRTC/{webgl → WebGL-Recording}/plotly.html
  143. 0 RecordRTC/{webgl → WebGL-Recording}/style.css
  144. 0 RecordRTC/{webgl → WebGL-Recording}/vendor/README.md
  145. 0 RecordRTC/{webgl → WebGL-Recording}/vendor/backbone-min.js
  146. 0 RecordRTC/{webgl → WebGL-Recording}/vendor/buzz.js
  147. 0 RecordRTC/{webgl → WebGL-Recording}/vendor/glge-compiled-min.js
  148. +5,728 −5,728 RecordRTC/{webgl → WebGL-Recording}/vendor/glge-compiled.js
  149. 0 RecordRTC/{webgl → WebGL-Recording}/vendor/jquery-1.7.1.min.js
  150. 0 RecordRTC/{webgl → WebGL-Recording}/vendor/underscore-min.js
  151. 0 RecordRTC/{webgl → WebGL-Recording}/view.js
  152. +1 −1 RecordRTC/bower.json
  153. +10 −0 RecordRTC/dev/CanvasRecorder.js
  154. +27 −6 RecordRTC/dev/Cross-Browser-Declarations.js
  155. +5 −1 RecordRTC/dev/GetRecorderType.js
  156. +4 −4 RecordRTC/dev/GifRecorder.js
  157. +5 −3 RecordRTC/dev/MRecordRTC.js
  158. +35 −8 RecordRTC/dev/MediaStreamRecorder.js
  159. +413 −0 RecordRTC/dev/MultiStreamRecorder.js
  160. +249 −87 RecordRTC/dev/RecordRTC.js
  161. +22 −4 RecordRTC/dev/RecordRTC.promises.js
  162. +57 −1 RecordRTC/dev/StereoAudioRecorder.js
  163. +9 −6 RecordRTC/dev/WhammyRecorder.js
  164. +1,233 −464 RecordRTC/index.html
  165. +8 −6 RecordRTC/npm-test.js
  166. +3 −2 RecordRTC/package.json
  167. +67 −0 RecordRTC/simple-demos/16khz-audio-recording.html
  168. +13 −1 RecordRTC/{ → simple-demos}/AudioVideo-on-Firefox.html
  169. +14 −2 RecordRTC/{ → simple-demos}/Record-Mp3-or-Wav.html
  170. +76 −0 RecordRTC/simple-demos/RecordRTCPromisesHandler.html
  171. +72 −0 RecordRTC/simple-demos/edge-audio-recording.html
  172. +184 −0 RecordRTC/simple-demos/multi-cameras-recording.html
  173. +93 −0 RecordRTC/simple-demos/onStateChanged.html
  174. +73 −0 RecordRTC/simple-demos/reuse-same-instance.html
  175. +91 −0 RecordRTC/simple-demos/setRecordingDuration.html
  176. +76 −0 RecordRTC/simple-demos/video-plus-screen-recording.html
  177. +28 −50 Signaling.md
  178. +118 −24 demos/switch-streams.html
  179. +23 −14 docs/README.md
  180. +10 −6 docs/TURN-server-installation-guide.html
  181. +37 −3 docs/webrtcpedia/index.html
  182. +9 −0 ffmpeg/README.md
  183. +28 −10 ffmpeg/audio-plus-canvas-recording.html
  184. +3 −2 ffmpeg/audio-plus-screen-recording.html
  185. +8 −0 ffmpeg/index.html
  186. +6 −5 ffmpeg/merging-wav-and-webm-into-mp4.html
  187. +74 −0 ffmpeg/server.js
  188. +347 −0 ffmpeg/wav-to-aac.html
  189. +7 −6 ffmpeg/wav-to-ogg.html
  190. +7 −6 ffmpeg/webm-to-mp4.html
  191. +16 −0 getScreenId.js/README.md
  192. +31 −11 getScreenId.js/getScreenId.html
  193. +26 −93 getScreenId.js/getScreenId.js
  194. +40 −1 getScreenId.js/index.html
  195. +1 −1 video-conferencing/README.md
  196. +1 −1 video-conferencing/index.html
@@ -1,19 +1,20 @@
# [Chrome Extensions](https://github.com/muaz-khan/Chrome-Extensions)
# WebRTC [Chrome Extensions](https://github.com/muaz-khan/Chrome-Extensions)
> Random WebRTC-based plugins/extensions for Chrome-browser.
> Possibly targeting screen capturing & sharing, recording,
> hiding & blocking WebRTC ip-addresses,
> bluetooth based handshake, controlling UDP connections etc.
1. Share full screen or any app's screen in 1080p or 720p format
2. Record full screen (1920p, 1080p, 720p) or any app's screen
3. Share youtube video (+ audio) along with tab activity
4. Share any tab's activity along with audio being played on the selected tab (youtube, dailymotion, soundcloud, whatever)
5. Record your microphone along with full screen
6. Record your microphone along with youtube video (+audio) as well as youtube tab activity (all-in-one)
7. Share files (peer-to-peer) on windows, mac, linux, Android and iOS
# Extensions
| Extension Name | Source Code | Google App Store |
| ------------- |-------------|-------------|
| WebRTC Desktop Sharing | [github/desktopCapture-p2p](https://github.com/muaz-khan/Chrome-Extensions/tree/master/desktopCapture-p2p) | [![Install Chrome Extension](https://raw.github.com/GoogleChrome/chrome-app-samples/master/tryitnowbutton_small.png)](https://chrome.google.com/webstore/detail/webrtc-desktop-sharing/nkemblooioekjnpfekmjhpgkackcajhg) |
| Screen Capturing in Chrome | [github/desktopCapture](https://github.com/muaz-khan/Chrome-Extensions/tree/master/desktopCapture) | [![Install Chrome Extension](https://raw.github.com/GoogleChrome/chrome-app-samples/master/tryitnowbutton_small.png)](https://chrome.google.com/webstore/detail/screen-capturing/ajhifddimkapgcifgcodmmfdlknahffk) |
| Tab Capturing in Chrome | [github/tabCapture](https://github.com/muaz-khan/Chrome-Extensions/tree/master/tabCapture) | [![Install Chrome Extension](https://raw.github.com/GoogleChrome/chrome-app-samples/master/tryitnowbutton_small.png)](https://chrome.google.com/webstore/detail/tab-capturing-sharing/pcnepejfgcmidedoimegcafiabjnodhk) |
| WebRTC File Sharing Chrome Extension | [ github/file-sharing ](https://github.com/muaz-khan/Chrome-Extensions/tree/master/file-sharing) | [![Install Chrome Extension](https://raw.github.com/GoogleChrome/chrome-app-samples/master/tryitnowbutton_small.png)](https://chrome.google.com/webstore/detail/webrtc-file-sharing/nbnncbdkhpmbnkfngmkdbepoemljbnfo) |
| Screen Recording | [ github/screen-recording ](https://github.com/muaz-khan/Chrome-Extensions/tree/master/screen-recording) | [![Install Chrome Extension](https://raw.github.com/GoogleChrome/chrome-app-samples/master/tryitnowbutton_small.png)](https://chrome.google.com/webstore/detail/recordrtc/ndcljioonkecdnaaihodjgiliohngojp) |
1. Record full screen, apps' screen, youtube audio, and more. [download source](https://github.com/muaz-khan/Chrome-Extensions/tree/master/screen-recording) or [install from Google Web Store](https://chrome.google.com/webstore/detail/recordrtc/ndcljioonkecdnaaihodjgiliohngojp)
2. Share full screen, apps' screen, youtube audio, and more. [download source](https://github.com/muaz-khan/Chrome-Extensions/tree/master/desktopCapture-p2p) or [install from Google Web Store](https://chrome.google.com/webstore/detail/webrtc-desktop-sharing/nkemblooioekjnpfekmjhpgkackcajhg)
3. Access/capture screen from any HTTPs domain. [download source](https://github.com/muaz-khan/Chrome-Extensions/tree/master/desktopCapture) or [install from Google Web Store](https://chrome.google.com/webstore/detail/screen-capturing/ajhifddimkapgcifgcodmmfdlknahffk)
4. Share selected tab. [download source](https://github.com/muaz-khan/Chrome-Extensions/tree/master/tabCapture) or [install from Google Web Store](https://chrome.google.com/webstore/detail/tab-capturing-sharing/pcnepejfgcmidedoimegcafiabjnodhk)
5. Share files peer-to-peer. [download source](https://github.com/muaz-khan/Chrome-Extensions/tree/master/file-sharing) or [install from Google Web Store](https://chrome.google.com/webstore/detail/tab-capturing-sharing/pcnepejfgcmidedoimegcafiabjnodhk)
Firefox addon:
@@ -23,21 +24,6 @@ Firefox addon:
* WebRTC Block & [WebRTC Leak Prevent](https://chrome.google.com/webstore/detail/webrtc-network-limiter/npeicpdbkakmehahjeeohfdhnlpdklia?hl=en)
----
# `Screen-Capturing.js` / [Demo](https://www.webrtc-experiment.com/Screen-Capturing/)
> Screen-Capturing.js can be used in any demo/project/library.
> It provides simple methods to integrate "Screen-Capturing" extension
> in your own applications.
>
> It means that you don't need to use [iframe-hack](https://github.com/muaz-khan/getScreenId).
Read more here:
* https://github.com/muaz-khan/Chrome-Extensions/tree/master/Screen-Capturing.js
## License
[Chrome-Extensions](https://github.com/muaz-khan/Chrome-Extensions) are released under [MIT licence](https://www.webrtc-experiment.com/licence/) . Copyright (c) [Muaz Khan](http://www.MuazKhan.com/).
@@ -0,0 +1,55 @@
// https://github.com/muaz-khan/RTCMultiConnection/blob/master/dev/IceServersHandler.js
var IceServersHandler = (function() {
function getIceServers(connection) {
var iceServers = [];
iceServers.push(getSTUNObj('stun:stun.l.google.com:19302'));
iceServers.push(getTURNObj('stun:webrtcweb.com:7788', 'muazkh', 'muazkh')); // coTURN
iceServers.push(getTURNObj('turn:webrtcweb.com:7788', 'muazkh', 'muazkh')); // coTURN
iceServers.push(getTURNObj('turn:webrtcweb.com:8877', 'muazkh', 'muazkh')); // coTURN
iceServers.push(getTURNObj('turns:webrtcweb.com:7788', 'muazkh', 'muazkh')); // coTURN
iceServers.push(getTURNObj('turns:webrtcweb.com:8877', 'muazkh', 'muazkh')); // coTURN
// iceServers.push(getTURNObj('turn:webrtcweb.com:3344', 'muazkh', 'muazkh')); // resiprocate
// iceServers.push(getTURNObj('turn:webrtcweb.com:4433', 'muazkh', 'muazkh')); // resiprocate
// check if restund is still active: http://webrtcweb.com:4050/
iceServers.push(getTURNObj('stun:webrtcweb.com:4455', 'muazkh', 'muazkh')); // restund
iceServers.push(getTURNObj('turn:webrtcweb.com:4455', 'muazkh', 'muazkh')); // restund
iceServers.push(getTURNObj('turn:webrtcweb.com:5544?transport=tcp', 'muazkh', 'muazkh')); // restund
return iceServers;
}
function getSTUNObj(stunStr) {
var urlsParam = 'urls';
if (typeof isPluginRTC !== 'undefined') {
urlsParam = 'url';
}
var obj = {};
obj[urlsParam] = stunStr;
return obj;
}
function getTURNObj(turnStr, username, credential) {
var urlsParam = 'urls';
if (typeof isPluginRTC !== 'undefined') {
urlsParam = 'url';
}
var obj = {
username: username,
credential: credential
};
obj[urlsParam] = turnStr;
return obj;
}
return {
getIceServers: getIceServers
};
})();
@@ -1,6 +1,10 @@
# [Chrome desktopCapture extension](https://github.com/muaz-khan/Chrome-Extensions/tree/master/desktopCapture-p2p)
# WebRTC [Chrome Extension](https://github.com/muaz-khan/Chrome-Extensions/tree/master/desktopCapture-p2p) for Peer-to-Peer Screen Sharing
This chrome extension not only captures content of screen, but also provides multi-user peer-to-peer screen streaming.
1. Share full screen
2. Share any app's screen
3. Share youtube video (+audio)
4. Share selected tab + all audios being played on the tab
5. Choose 1080p, 720p resolutions
## How to install?
@@ -27,48 +31,6 @@ To learn more about how to publish a chrome extension in Google App Store:
* https://developer.chrome.com/webstore/publish
## How to add inline-install button?
**Make sure that you added and verified your webpage/domain using Google WebMaster tools.** Additional instructions available [here](https://support.google.com/webmasters/answer/35179?hl=en).
```html
<!DOCTYPE html>
<html>
<head>
<!-- head; this <link> tag MUST be in <head> section -->
<link rel="chrome-webstore-item" href="https://chrome.google.com/webstore/detail/your-chrome-extension-id">
</head>
<body>
<!-- body; the button element that is used to invoke inline installation -->
<button onclick="" id="install-button" style="padding: 0;background: none;height: 61px;vertical-align: middle;cursor:pointer;">
<img src="https://www.webrtc-experiment.com/images/btn-install-chrome-extension.png" alt="Add to Chrome">
</button>
<script>
document.querySelector('#inline-install').onclick = function() {
!!navigator.webkitGetUserMedia
&& !!window.chrome
&& !!chrome.webstore
&& !!chrome.webstore.install &&
chrome.webstore.install(
'https://chrome.google.com/webstore/detail/your-chrome-extension-id',
successCallback,
failureCallback
);
};
function successCallback() {
location.reload();
}
function failureCallback(error) {
alert(error);
}
</script>
</body>
</html>
```
## For more information
For additional information, click [this link](https://github.com/muaz-khan/WebRTC-Experiment/blob/7cd04a81b30cdca2db159eb746e2714307640767/Chrome-Extensions/desktopCapture/README.md).
Oops, something went wrong.

0 comments on commit 7869874

Please sign in to comment.