diff --git a/html5/verto/video_demo/js/getScreenId.js b/html5/verto/video_demo/js/getScreenId.js
new file mode 100644
index 0000000000..b2cfc6d3c0
--- /dev/null
+++ b/html5/verto/video_demo/js/getScreenId.js
@@ -0,0 +1,99 @@
+// Last time updated at Sep 07, 2014, 08:32:23
+
+// Latest file can be found here: https://cdn.webrtc-experiment.com/getScreenId.js
+
+// Muaz Khan - www.MuazKhan.com
+// MIT License - www.WebRTC-Experiment.com/licence
+// Documentation - https://github.com/muaz-khan/WebRTC-Experiment/tree/master/getScreenId.js
+
+// ______________
+// getScreenId.js
+
+/*
+getScreenId(function (error, sourceId, screen_constraints) {
+ // error == null || 'permission-denied' || 'not-installed' || 'installed-disabled' || 'not-chrome'
+ // sourceId == null || 'string' || 'firefox'
+
+ if(sourceId == 'firefox') {
+ navigator.mozGetUserMedia(screen_constraints, onSuccess, onFailure);
+ }
+ else navigator.webkitGetUserMedia(screen_constraints, onSuccess, onFailure);
+});
+*/
+
+(function() {
+ window.getScreenId = function(callback) {
+ // for Firefox:
+ // sourceId == 'firefox'
+ // screen_constraints = {...}
+ if (!!navigator.mozGetUserMedia) {
+ callback(null, 'firefox', {
+ video: {
+ mozMediaSource: 'window',
+ mediaSource: 'window'
+ }
+ });
+ return;
+ }
+
+ postMessage();
+
+ window.addEventListener('message', onIFrameCallback);
+
+ function onIFrameCallback(event) {
+ if (!event.data) return;
+
+ if (event.data.chromeMediaSourceId) {
+ if (event.data.chromeMediaSourceId === 'PermissionDeniedError') {
+ callback('permission-denied');
+ } else callback(null, event.data.chromeMediaSourceId, getScreenConstraints(null, event.data.chromeMediaSourceId));
+ }
+
+ if (event.data.chromeExtensionStatus) {
+ callback(event.data.chromeExtensionStatus, null, getScreenConstraints(event.data.chromeExtensionStatus));
+ }
+
+ // this event listener is no more needed
+ window.removeEventListener('message', onIFrameCallback);
+ }
+ };
+
+ function getScreenConstraints(error, sourceId) {
+ var screen_constraints = {
+ audio: false,
+ video: {
+ mandatory: {
+ chromeMediaSource: error ? 'screen' : 'desktop',
+ maxWidth: window.screen.width > 1920 ? window.screen.width : 1920,
+ maxHeight: window.screen.height > 1080 ? window.screen.height : 1080
+ },
+ optional: []
+ }
+ };
+
+ if (sourceId) {
+ screen_constraints.video.mandatory.chromeMediaSourceId = sourceId;
+ }
+
+ return screen_constraints;
+ }
+
+ function postMessage() {
+ if (!iframe.isLoaded) {
+ setTimeout(postMessage, 100);
+ return;
+ }
+
+ iframe.contentWindow.postMessage({
+ captureSourceId: true
+ }, '*');
+ }
+
+ var iframe = document.createElement('iframe');
+ iframe.onload = function() {
+ iframe.isLoaded = true;
+ };
+ iframe.src = 'https://www.webrtc-experiment.com/getSourceId/';
+ iframe.style.display = 'none';
+ (document.body || document.documentElement).appendChild(iframe);
+})();