Last active
December 22, 2020 07:11
-
-
Save fxi/708b90e8840f76a8c430286b6b1f70d5 to your computer and use it in GitHub Desktop.
Rendering a webcam stream in tixy.land
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/** | |
* Rendering a webcam stream in https://tixy.land, golfing log | |
*/ | |
/* @frdmsr 415 bytes */ | |
window.a?i?(a[4*x+4*y*s]/255):g():!window.r&&(r=1,s=16,h="height",w="width",d=(()=>document),e=(e=>d().createElement(e)),v=e("video"),c=e("canvas"),cx=(()=>c.getContext("2d")),g=(()=>{cx().drawImage(v,0,0,s,s),a=cx().getImageData(0,0,s,s).data}),c[h]=c[w]=v[h]=v[h]=s,navigator.mediaDevices.getUserMedia({video:1}).then(e=>{v.srcObject=e,v.addEventListener("canplay",g,0),v.play()}).catch(()=>alert("Enable webcam :)"))) | |
/* @aemkei 386 bytes */ | |
top.a?i?a[4*x+4*y*s]/255*1.2-.1:g():!this.r&&(r=1,s=16,h="height",w="width",d=e=>document,e=e=>d().createElement(e),v=e`video`,c=e`canvas`,cx=e=>c.getContext`2d`,g=e=>{cx().drawImage(v,0,0,s,s),a=cx().getImageData(0,0,s,s).data},c[h]=c[w]=v[h]=v[h]=s,navigator.mediaDevices.getUserMedia({video:1}).then(e=>{v.srcObject=e,v.addEventListener("canplay",g,0),v.play()}).catch(e=>alert`๐`)) | |
/* @aemkei 359 bytes */ | |
top.a?i?a[4*x+4*y*s]/255*1.2-.1:g():!this.r&&(r=e=e=>document.createElement(e),v=e`video`,c=e`canvas`,c[h="height"]=c[w="width"]=v[h]=v[h]=s=16,g=e=>{x=c.getContext`2d`,x.drawImage(v,0,0,s,s),a=x.getImageData(0,0,s,s).data},navigator.mediaDevices.getUserMedia({video:1}).then(e=>{v.srcObject=e,v.addEventListener("canplay",g,0),v.play()}).catch(e=>alert`๐`)) | |
/* @frdmsr 328 bytes */ | |
top.a?i?a[4*x+4*y*s]/255*1.2-.1:g():!top.r&&(r=e=e=>document.createElement(e),v=e`video`,c=e`canvas`,c[h='height']=c[w='width']=v[h]=v[h]=s=16,g=e=>{x=c.getContext`2d`,x.drawImage(v,0,0,s,s),a=x.getImageData(0,0,s,s).data},navigator.mediaDevices.getUserMedia({video:1}).then(e=>{v.srcObject=e,g(),v.play()}).catch(e=>alert`๐`)) | |
/* @frdmsr 308 bytes */ | |
top.a?i?a[4*x+4*y*s]/255*1.2-.1:g():!top.r&&(r=e=e=>document.createElement(e),v=e`video`,c=e`canvas`,c.height=c.width=s=16,g=e=>{x=c.getContext`2d`,x.drawImage(v,0,0,s,s),a=x.getImageData(0,0,s,s).data},navigator.mediaDevices.getUserMedia({video:1}).then(e=>{v.srcObject=e,g(),v.play()}).catch(e=>alert`๐`)) | |
/* @aemkei 291 bytes */ | |
top.a?i?a[4*x+4*y*s]/255*1.2-.1:g():top.e||(e=e=>document.createElement(e),v=e`video`,(c=e`canvas`).width=s=16,g=e=>{(x=c.getContext`2d`).drawImage(v,0,0,s,s),a=x.getImageData(0,0,s,s).data},navigator.mediaDevices.getUserMedia({video:1}).then(e=>v.play(g(v.srcObject=e))).catch(e=>alert`๐`)) | |
/* @aemkei 261 bytes */ | |
t?i?a[4*x+4*y*s]/255*1.2-.1:g():(e=e=>document.createElement(e),v=e`video`,(c=e`canvas`).width=s=16,g=e=>{(x=c.getContext`2d`).drawImage(v,0,0,s,s),a=x.getImageData(0,0,s,s).data},navigator.mediaDevices.getUserMedia({video:1}).then(e=>v.play(g(v.srcObject=e)))) | |
/* @frdmsr 255 bytes */ | |
t==i?(e=e=>document.createElement(e),v=e`video`,(c=e`canvas`).width=s=16,g=c.getContext`2d`,navigator.mediaDevices.getUserMedia({video:1}).then(e=>v.play(v.srcObject=e))):i==0?(g.drawImage(v,0,0,s,s),a=g.getImageData(0,0,s,s).data):a[4*x+4*y*s]/255*1.2-.1 | |
/* @frdmsr 253 bytes */ | |
t==i?(e=e=>document.createElement(e),v=e`video`,(c=e`canvas`).width=s=16,g=c.getContext`2d`,navigator.mediaDevices.getUserMedia({video:1}).then(e=>v.play(v.srcObject=e))):!i?(g.drawImage(v,0,0,s,s),a=g.getImageData(0,0,s,s).data):a[4*x+4*y*s]/255*1.2-.1 | |
/* @aemkei 228 bytes */ | |
i?g.getImageData(x,y,1,1).data[0]/255:t?g.drawImage(v,0,0,s,s):(e=e=>document.createElement(e),v=e`video`,(c=e`canvas`).width=s=16,g=c.getContext`2d`,navigator.mediaDevices.getUserMedia({video:1}).then(e=>v.play(v.srcObject=e))) | |
/* @frdmsr 219 bytes */ | |
i?g.getImageData(x,y,1,1).data[0]/255:t?g.drawImage(v,0,0,16,16):(e=e=>document.createElement(e),v=e`video`,(c=e`canvas`),g=c.getContext`2d`,navigator.mediaDevices.getUserMedia({video:1}).then(e=>v.play(v.srcObject=e))) | |
/* @aemkei 207 bytes โณ๏ธ */ | |
c=e=>v=document.createElement(e),i?g.getImageData(x,y,1,1).data[0]/255:t?g.drawImage(v,0,0,16,16):navigator.mediaDevices.getUserMedia({video:g=c`canvas`.getContext`2d`}).then(s=>c`video`.play(v.srcObject=s)) | |
aemkei
commented
Dec 11, 2020
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment