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


Posted in Javascript onApril 17, 2019

首先就是要把视频加载出来,然后使用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任意时间的画面截图

<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任意时间的画面截图详解整合,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
用jQuery实现检测浏览器及版本的脚本代码
Jan 22 Javascript
关于javascript document.createDocumentFragment()
Apr 04 Javascript
JavaScript高级程序设计(第3版)学习笔记11 内建js对象
Oct 11 Javascript
使用jquery组件qrcode生成二维码及应用指南
Feb 22 Javascript
json+jQuery实现的无限级树形菜单效果代码
Aug 27 Javascript
JavaScript实现简单获取当前网页网址的方法
Nov 09 Javascript
javascript实现拖放效果
Dec 16 Javascript
window.open不被拦截的简单实现代码(推荐)
Aug 04 Javascript
js实现图片切换(动画版)
Dec 25 Javascript
node.js学习之事件模块Events的使用示例
Sep 28 Javascript
JS中Map和ForEach的区别
Feb 05 Javascript
基于JavaScript实现贪吃蛇游戏
Mar 16 Javascript
解决vue跨域axios异步通信问题
Apr 17 #Javascript
自定义Vue中的v-module双向绑定的实现
Apr 17 #Javascript
微信公众平台 发送模板消息(Java接口开发)
Apr 17 #Javascript
微信公众平台 客服接口发消息的实现代码(Java接口开发)
Apr 17 #Javascript
vue获取时间戳转换为日期格式代码实例
Apr 17 #Javascript
微信小程序bindinput与bindsubmit的区别实例分析
Apr 17 #Javascript
vue 项目 iOS WKWebView 加载
Apr 17 #Javascript
You might like
这部好评如潮的动漫 知名梗频出 但是画风劝退很多人
2020/03/08 日漫
修改yii2.0用户登录使用的user表为其它的表实现方法(推荐)
2017/08/01 PHP
php报错502badgateway解决方法
2019/10/11 PHP
Nigma vs Liquid BO3 第一场2.13
2021/03/10 DOTA
Jquery UI震动效果实现原理及步骤
2013/02/04 Javascript
iframe父页面获取子页面参数的方法
2014/02/21 Javascript
JavaScript针对网页节点的增删改查用法实例
2015/02/02 Javascript
JavaScript比较两个对象是否相等的方法
2015/02/06 Javascript
javasript实现密码的隐藏与显示
2015/05/08 Javascript
再次谈论React.js实现原生js拖拽效果引起的一系列问题
2016/04/03 Javascript
使用smartupload组件实现jsp+jdbc上传下载文件实例解析
2017/01/05 Javascript
微信小程序getPhoneNumber获取用户手机号
2017/09/29 Javascript
vue登录注册及token验证实现代码
2017/12/14 Javascript
Vue v2.4中新增的$attrs及$listeners属性使用教程
2018/01/08 Javascript
vue的style绑定background-image的方式和其他变量数据的区别详解
2018/09/03 Javascript
详解VUE调用本地json的使用方法
2019/05/15 Javascript
Vue 数组和对象更新,但是页面没有刷新的解决方式
2019/11/09 Javascript
jQuery实现B2B网站后台管理系统侧导航
2020/07/08 jQuery
python 文件与目录操作
2008/12/24 Python
Python在Windows和在Linux下调用动态链接库的教程
2015/08/18 Python
python简单实现刷新智联简历
2016/03/30 Python
Python json 错误xx is not JSON serializable解决办法
2017/03/15 Python
python列表生成式与列表生成器的使用
2018/02/23 Python
运行django项目指定IP和端口的方法
2018/05/14 Python
Python爬取商家联系电话以及各种数据的方法
2018/11/10 Python
Python+OpenCV+pyQt5录制双目摄像头视频的实例
2019/06/28 Python
Python各种扩展名区别点整理
2020/02/27 Python
使用K.function()调试keras操作
2020/06/17 Python
python中numpy数组与list相互转换实例方法
2021/01/29 Python
HTML5之SVG 2D入门11—用户交互性(动画)介绍及应用
2013/01/30 HTML / CSS
中国包裹转运寄送国际服务:Famiboat
2019/07/24 全球购物
文言文形式的学生求职信
2013/12/03 职场文书
幼儿园保育员责任书
2014/07/22 职场文书
技术员岗位职责范本
2015/04/11 职场文书
小学生作文写作技巧100例,非常实用!
2019/07/08 职场文书
解决使用了nginx获取IP地址都是127.0.0.1 的问题
2021/09/25 Servers