js截屏 video_详解js获取video任意时间的画面截图

论坛 期权论坛 脚本     
已经匿名di用户   2022-5-29 19:20   1914   0

首先就是要把视频加载出来,然后使用canvas.getContext(‘2d').drawImage(videoElement, 0, 0, canvas.width, canvas.height);获取到当前视频时间的截图,需要不同时间的video视频图,设置video的currentTime(单位秒),然后videoElement这个对象信息会实时更新。

如果是视频是在阿里云OSS上就更方便了,poster=“http://a-image-demo.oss-cn-qingdao.aliyuncs.com/demo.mp4?x-oss-process=video/snapshot,t_6000,m_fast”

function getVideoImage() {

var obj_file = document.getElementById("upload-ipt");

var file = obj_file.files[0];

var blob = new Blob([file]), // 文件转化成二进制文件

url = URL.createObjectURL(blob); //转化成url

if (file && /video/g.test(file.type)) {

var $video = $('

//后面加一个空格div是为了解决在富文本中按Backspace时删除无反应的问题

$('#in-box').html($video);

var videoElement = $("video")[0];

videoElement.addEventListener("canplay", function (_event) {

var canvas = document.createElement("canvas");

canvas.width = videoElement.videoWidth;

canvas.height = videoElement.videoHeight;

console.log(videoElement.videoWidth)

canvas.getContext('2d').drawImage(videoElement, 0, 0, canvas.width, canvas.height);

var img = document.createElement("img");

img.src = canvas.toDataURL("image/png");

$("#out-box").html(img);

URL.revokeObjectURL(this.src); // 释放createObjectURL创建的对象

console.log("loadedmetadata")

});

}else{

alert("请上传一个视频文件!");

obj_file.value = ""

}

};

以上所述是小编给大家介绍的js获取video任意时间的画面截图详解整合,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:81
帖子:4969
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP