一、需求:上传视频,同时截取视频某一帧作为视频的封面。

二、实现思路:利用canvas绘制图像的功能,绘制图像某一帧,这里绘制了第一帧,很简单就实现了。

三、代码:

<!DOCTYPE html><html><head>    <meta charset="UTF-8">    <title>capture screen</title>    <style type="text/css">        video,#container{width: 300px;height: 200px;}        #container>img{width: 100%;}    </style></head><body>    <video id="video" controls="controls">        <source src="video/video_test.mp4">    </video>    <div id="container"></div>    <script type="text/javascript">        (function() {            var video, container;            var scale = 0.8;            var initialize = function() {                container = document.getElementById("container");                video = document.getElementById("video");                video.addEventListener(loadeddata, captureImage);            };            var captureImage = function() {                var canvas = document.createElement("canvas");                canvas.width = video.videoWidth * scale;                canvas.height = video.videoHeight * scale;            canvas.getContext(2d).drawImage(video, 0, 0, canvas.width, canvas.height);                var img = document.createElement("img");                img.src = canvas.toDataURL("image/png");//转换成base64图片,地址拿出来就可以直接使用                container.appendChild(img);            };            initialize();        })();    </script></body></html>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

canvas绘制视频封面的方法