Created
June 12, 2018 13:49
-
-
Save kikill95/e2819f42c1328dab91db8955e76c27d6 to your computer and use it in GitHub Desktop.
Capture thumbnail on client side and prepare file to upload
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
<!DOCTYPE html> | |
<head> | |
<script type='text/javascript'> | |
window.onload = function () { | |
var video = document.getElementById('videoId') | |
var canvas = document.getElementById('canvasId') | |
canvas.style.display = 'block' | |
// fake loading | |
setTimeout(() => { | |
// start when video loaded | |
draw(video, canvas) | |
}, 2000) | |
}; | |
function draw(video, canvas) { | |
var context = canvas.getContext('2d') | |
context.drawImage(video, 0, 0, canvas.width, canvas.height) | |
var dataURL = canvas.toDataURL() | |
var blobBin = atob(dataURL.split(',')[1]) | |
var array = [] | |
for (var i = 0; i < blobBin.length; i++) { | |
array.push(blobBin.charCodeAt(i)) | |
} | |
var file = new Blob([new Uint8Array(array)], {type: 'image/png'}) | |
// this is working file | |
console.log(file) | |
} | |
</script> | |
</head> | |
<body> | |
<video id="videoId" autoplay loop controls crossorigin="anonymous"> | |
<source src="http://localhost:3978/test.webm" type="video/webm"> | |
<source src="http://localhost:3978/test.mp4" type="video/mp4"> | |
Your browser does not support the video tag. | |
</video> | |
<canvas id="canvasId"></canvas> | |
</body> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment