最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

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

来源:动视网 责编:小采 时间:2020-11-27 21:58:38
文档

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

详解js获取video任意时间的画面截图:首先就是要把视频加载出来,然后使用canvas.getContext(2d').drawImage(videoElement, 0, 0, canvas.width, canvas.height);获取到当前视频时间的截图,需要不同时间的video视频图,设置video的currentTime(单位秒),然后video
推荐度:
导读详解js获取video任意时间的画面截图:首先就是要把视频加载出来,然后使用canvas.getContext(2d').drawImage(videoElement, 0, 0, canvas.width, canvas.height);获取到当前视频时间的截图,需要不同时间的video视频图,设置video的currentTime(单位秒),然后video


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

 

<div contenteditable="true" id="in-box" style="width:1000px;margin: 20px auto;"></div>
<div style="width:1000px;margin: 20px auto;"> 
 <input type="file" name="" id="upload-ipt">
 <div class="review" id="out-box"></div>
</div>
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><video controls src="' + url + '"></video></div><div> </div>');
 //后面加一个空格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任意时间的画面截图

详解js获取video任意时间的画面截图:首先就是要把视频加载出来,然后使用canvas.getContext(2d').drawImage(videoElement, 0, 0, canvas.width, canvas.height);获取到当前视频时间的截图,需要不同时间的video视频图,设置video的currentTime(单位秒),然后video
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top