Skip to content

Instantly share code, notes, and snippets.

@bellbind
Created May 23, 2014 07:10
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save bellbind/36e6a5e64357bc0b3e4d to your computer and use it in GitHub Desktop.
Save bellbind/36e6a5e64357bc0b3e4d to your computer and use it in GitHub Desktop.
[html5][chrome]simple screen capture stream demo
<!doctype html>
<html>
<head>
<meta charset="utf-8" />
<title>screen capture on chrome</title>
<script>
(navigator.getUserMedia || navigator.webkitGetUserMedia).bind(navigator)({
video: {
mandatory: {
chromeMediaSource: "screen"
}
}
}, function (stream) {
var video = document.getElementById("capture");
video.src = URL.createObjectURL(stream);
video.autoplay = true;
}, function (error) {
console.log(error);
});
</script>
</head>
<body>
<p>note1: enable "screen capture support" required at about:flags on chrome</p>
<p>note2: this page required to load from HTTPS server (not http: or file:)</p>
<p>note3: play captured screene after user allowed screen sharing</p>
<video id="capture" width="800" height="600"/>
</body>
</html>
#!/usr/bin/env python3
import http.server
import ssl
# [generate self certification pem with openssl]
# openssl genrsa -out key.pem
# openssl req -new -key key.pem -out csr.pem
# openssl req -x509 -in csr.pem -key key.pem -out crt.pem
# cat key.pem crt.pem > keycrt.pem
server = http.server.HTTPServer(
("localhost", 8443), http.server.SimpleHTTPRequestHandler)
server.socket = ssl.wrap_socket(
server.socket, server_side = True,
certfile = "keycrt.pem", ssl_version = ssl.PROTOCOL_TLSv1)
server.serve_forever()
-----BEGIN RSA PRIVATE KEY-----
MIIBPAIBAAJBAKIgyGxVrUmS+bCWL2pUfzV7moHXgYAUsgYkV99dxKNIXGFusDhT
WG3KRVUPNGKZ54eO+JIGeGw34wthnJ5EAKECAwEAAQJAc9jy/Z425YS1D/4wwUzB
XQkGPVMtQMUI9CSR+ZR6BqVx1XsZKIzdm4hhGcNQGIq+zPgVT0bRncg1fmgO1hgE
hQIhAM8VCuPA4EvcN9ia2b5bJzWavn2DZ1vv6W1sVPxm5fMjAiEAyG02VvCikfsx
sYkyl4CieNqyyLh0aVauHqSLuam1q2sCIQCitZ/20Efskz32HcXVAf5O6iWerS77
WAiLh8FHCPrJDQIhAJvOoraVXJwFXY05LbYvDp7KzL9S/VRCSRuTKPfNIWg/AiEA
q7dtrt0PKjTsPBgJgH7ViqArAvSGu1fXy8PPSY4jkP8=
-----END RSA PRIVATE KEY-----
-----BEGIN CERTIFICATE-----
MIICKzCCAdWgAwIBAgIJAOuKeua8WTwtMA0GCSqGSIb3DQEBBQUAMEUxCzAJBgNV
BAYTAkpQMQ4wDAYDVQQIEwVUb2t5bzESMBAGA1UEChMJbG9jYWxob3N0MRIwEAYD
VQQDEwlsb2NhbGhvc3QwHhcNMTQwNTIzMDY0MTI4WhcNMTQwNjIyMDY0MTI4WjBF
MQswCQYDVQQGEwJKUDEOMAwGA1UECBMFVG9reW8xEjAQBgNVBAoTCWxvY2FsaG9z
dDESMBAGA1UEAxMJbG9jYWxob3N0MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAKIg
yGxVrUmS+bCWL2pUfzV7moHXgYAUsgYkV99dxKNIXGFusDhTWG3KRVUPNGKZ54eO
+JIGeGw34wthnJ5EAKECAwEAAaOBpzCBpDAdBgNVHQ4EFgQUgQh2QdSkkPYcxjVh
kA1sZUrdEJMwdQYDVR0jBG4wbIAUgQh2QdSkkPYcxjVhkA1sZUrdEJOhSaRHMEUx
CzAJBgNVBAYTAkpQMQ4wDAYDVQQIEwVUb2t5bzESMBAGA1UEChMJbG9jYWxob3N0
MRIwEAYDVQQDEwlsb2NhbGhvc3SCCQDrinrmvFk8LTAMBgNVHRMEBTADAQH/MA0G
CSqGSIb3DQEBBQUAA0EAn/I8xK1GzwbVfGSweDVBCz7z0PWSEG3sXmh4wuuUiVFV
yHMlDqYi3q+wFVZcrJEdF59wAn04XWEE2SDNrPhLCQ==
-----END CERTIFICATE-----
@bellbind
Copy link
Author

bellbind commented Aug 4, 2014

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment