h5 canvas截取视频第一帧

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了h5 canvas截取视频第一帧相关的知识,希望对你有一定的参考价值。

参考技术A canvas截取视频第一帧。
注意video存在preload,否则真机会截取透明图,截不到。
重置canvas用 this.ctx.fillRect(0, 0, width,height);
canvas写入缩放视频或图片太麻烦,直接用图片代替原本的写入。

ps:
https://www.jianshu.com/p/e05fcceebfb5
其余参考:
https://blog.csdn.net/single15/article/details/80453279

截取视频第一帧作为预览图片

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>capture screen</title>
</head>
<body>
<video id="video" controls="controls">
<source src="123.MP4">
</video>
<div id="output"></div>
<script type="text/javascript">
(function(){
var video, output;
var scale = 0.8;
var initialize = function() {
output = document.getElementById("output");
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");
            output.appendChild(img);
};
 
initialize();
})();
</script>
</body>
</html>

以上是关于h5 canvas截取视频第一帧的主要内容,如果未能解决你的问题,请参考以下文章

七牛云上传视频并截取第一帧为图片(js实现)

七牛云上传视频并截取第一帧为图片(js实现)

uni-app App和H5平台上传视频截取视频第一帧生成图片

H5 canvas 实现飞机大战游戏

关于H5-canvas游戏开发初谈

H5 canvas填充文字自动换行