<?php $thumbs_dir = 'E:/xampp/htdocs/uploads/thumbs/'; $videos = array(); if (isset($_POST["name"])) { if (!preg_match('/data:([^;]*);base64,(.*)/', $_POST['data'], $matches)) { die("error"); } $data = $matches[2]; $data = str_replace(' ', '+', $data); $data = base64_decode($data); $file = 'text.jpg'; $dataname = file_put_contents($thumbs_dir . $file, $data); } ?> //jscode <script type="text/javascript"> var videos = <?= json_encode($videos); ?>; var video = document.getElementById('video'); video.addEventListener('canplay', function () { this.currentTime = this.duration / 2; }, false); var seek = true; video.addEventListener('seeked', function () { if (seek) { getThumb(); } }, false); function getThumb() { seek = false; var filename = video.src; var w = video.videoWidth;//video.videoWidth * scaleFactor; var h = video.videoHeight;//video.videoHeight * scaleFactor; var canvas = document.createElement('canvas'); canvas.width = w; canvas.height = h; var ctx = canvas.getContext('2d'); ctx.drawImage(video, 0, 0, w, h); var data = canvas.toDataURL("image/jpg"); var xmlhttp = new XMLHttpRequest; xmlhttp.onreadystatechange = function () { if (xmlhttp.readyState == 4 && xmlhttp.status == 200) { } } xmlhttp.open("POST", location.href, true); xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); xmlhttp.send('name=' + encodeURIComponent(filename) + '&data=' + data); } function failed(e) { // video playback failed - show a message saying why switch (e.target.error.code) { case e.target.error.MEDIA_ERR_ABORTED: console.log('You aborted the video playback.'); break; case e.target.error.MEDIA_ERR_NETWORK: console.log('A network error caused the video download to fail part-way.'); break; case e.target.error.MEDIA_ERR_DECODE: console.log('The video playback was aborted due to a corruption problem or because the video used features your browser did not support.'); break; case e.target.error.MEDIA_ERR_SRC_NOT_SUPPORTED: console.log('The video could not be loaded, either because the server or network failed or because the format is not supported.'); break; default: console.log('An unknown error occurred.'); break; } } </script> //Html <div> <video id="video" src="1499752288.mp4" autoplay="true" onerror="failed(event)" controls="controls" preload="none"></video> </div>
debasish Jul 24 '17 at 6:48 2017-07-24 06:48
source share