Skip to content

Instantly share code, notes, and snippets.

@fxi
Last active December 22, 2020 07:11
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 fxi/708b90e8840f76a8c430286b6b1f70d5 to your computer and use it in GitHub Desktop.
Save fxi/708b90e8840f76a8c430286b6b1f70d5 to your computer and use it in GitHub Desktop.
Rendering a webcam stream in tixy.land
/**
* 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
Copy link

aemkei commented Dec 11, 2020

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


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?a[4*x+4*y*s]/255*1.2-.1:a=g.getImageData(0,!g.drawImage(v,0,0,s,s),s,s).data

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?a[4*x+4*y*s]/255*1.2-.1:a=g.getImageData(0,!g.drawImage(v,0,0,s,s),s,s).data

!t?(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?a[4*x+4*y*s]/255*1.2-.1:a=g.getImageData(0,!g.drawImage(v,0,0,s,s),s,s).data

t?i?a[4*x+4*y*s]/255*1.3-.1:a=g.getImageData(0,!g.drawImage(v,0,0,s,s),s,s).data:(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)))

t-i?i?a[4*x+4*y*s]/255:a=g.getImageData(0,!g.drawImage(v,0,0,s,s),s,s).data:(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)))

t-i?i?a[i*4]/255:a=g.getImageData(0,!g.drawImage(v,0,0,s,s),s,s).data:(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)))

t-i?i?a[i*4]/255:(g.drawImage(v,0,0,s,s),a=g.getImageData(0,0,s,s).data):(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)))

t-i?i?g.getImageData(0,0,s,s).data[i*4]/255: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)))

t-i?i?g.getImageData(x,y,1,1).data[0]/255: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)))

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)))

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