如何使用js获取video任意时间的画面截图

这篇文章将为大家详细讲解有关如何使用js获取video任意时间的画面截图,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

创新互联专注于大城企业网站建设,响应式网站设计,商城网站建设。大城网站建设公司,为大城等地区提供建站服务。全流程按需定制设计,专业设计,全程项目跟踪,创新互联专业和态度为您提供的服务

JS是什么

JS是JavaScript的简称,它是一种直译式的脚本语言,其解释器被称为JavaScript引擎,是浏览器的一部分,主要用于web的开发,可以给网站添加各种各样的动态效果,让网页更加美观。

首先就是要把视频加载出来,然后使用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”

 如何使用js获取video任意时间的画面截图

      
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任意时间的画面截图”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。


本文名称:如何使用js获取video任意时间的画面截图
文章转载:http://pwwzsj.com/article/ijhheh.html

其他资讯