原因

问题是寻求视频(通过设置它的currentTime)是异步的。

您需要聆听被请求的事件,否则将冒险采取实际的当前框架,这可能是您的旧价值。

由于它是异步的,所以不能使用setInterval(),因为它是异步的,当下一个框架被查找时,您将无法正确同步。没有必要使用setInterval(),因为我们将使用seekked事件,而不会使所有内容都同步。

通过重写代码,您可以使用被查看的事件来浏览视频以捕获正确的帧,因为此事件确保我们实际上是通过设置currentTime属性在我们请求的帧。

// global or parent scope of handlers

var video = document.getElementById("video"); // added for clarity: this is needed

var i = 0;

video.addEventListener('loadeddata', function() {

this.currentTime = i;

});

将此事件处理程序添加到聚会中:

video.addEventListener('seeked', function() {

// now video has seeked and current frames will show

// at the time as we expect

generateThumbnail(i);

// when frame is captured increase, here by 5 seconds

i += 5;

// if we are not passed end, seek to next interval

if (i <= this.duration) {

// this will trigger another seeked event

this.currentTime = i;

}

else {

// Done!, next action

}

});

html5获取视频帧,从HTML5和JavaScript的视频捕获帧相关推荐

  1. html视频自动缩放,HTML5 视频(videos)缩放JavaScript插件

    简要教程 video-resize是一款可以对HTML5 视频(videos)进行缩放的JavaScript插件.插件中设置了不同的响应式断点,并通过插入样式表的方式来修改HTML5视频的显示尺寸. ...

  2. h5禁用浏览器下载视频_【HTML5】video 标签禁用自带的下载按钮

    h5自带的 video标签 ,会有个下载按钮,有时候想避免,就可以利用样式的方法 video::-internal-media-controls-download-button { display:n ...

  3. html5 audio js控制进度,HTML5多媒体的之audio和video。JavaScript控制进度条播放进度

    使用HTML5多媒体,audio和video两个元素可以让用户不必借助flash player插件即可播放音频和视频. 小知识:视频文件包含了音频轨道,视频轨道和其他一些元数据.当我们播放视频的时候, ...

  4. 100行JS代码实现❤坦克大战js小游戏源码 HTML5坦克大战游戏代码(HTML+CSS+JavaScript )

    坦克大战js小游戏源码 HTML5坦克大战游戏代码(HTML+CSS+JavaScript ) HTML5坦克大战网页小游戏,完美还原小霸王学习机效果,以坦克战斗及保卫基地为主题,属于策略型类游戏. ...

  5. HTML5期末大作业:个人网站设计——个人旅游图片博客HTML5模板(7个页面) HTML+CSS+JavaScript 学生网页课程设计期末作业下载

    HTML5期末大作业:个人网站设计--个人旅游图片博客HTML5模板(7个页面) HTML+CSS+JavaScript 学生网页课程设计期末作业下载 临近期末, 你还在为HTML网页设计结课作业,老 ...

  6. html5 获取多媒体,基于HTML5的多媒体支持

    HTML5多媒体新增特性 截止至今,多媒体内容在大多数情况下都是通过第三方插件或者集成在web浏览器上的应用程序放到网页上的.此类插件包括realplayer.silverlight和quicktim ...

  7. 调用视频流html代码,如何将/“流”视频文件发送到HTML5视频标签

    我试着将一个视频文件发送到HTML5 我发现了一个可以追溯到2010年的片段. 它在互联网上到处复制,并且仍然在传播,在代码风格.名称.使用的Node.js API版本或库上有一些细微的差异. 这是片 ...

  8. html5获取地理位置信息API

    html5获取地理位置信息API 在HTML5中,可以看下如何使用Geolocation API来获得用户的地理位置信息,如果该浏览器支持的话,且设备具有定位功能,就能够直接使用这组API来获取当前位 ...

  9. html中视频代码字段,Html5通过数据流方式播放视频的实现

    本文介绍如何通过H5页面通过数据流的方式播放服务端的视频文件,可以兼容PC.Android和IOS环境. H5页面可以通过 标签来播放视频.一般的方式如下: your browser does not ...

  10. Html5结合flash在所有主流播放器播放视频的方法

    转自http://www.aimks.com/html5-combined-with-flash-method-in-all-mainstream-video.html Html5结合flash在所有 ...

最新文章

  1. ubuntu百度网盘下载大文件
  2. 将图片显示在应用最上层_谷歌Chrome 75将原生支持lazy loading,动动手也可以抢先试玩...
  3. 互联网日报 | 3月20日 星期六 | 荣耀CEO赵明谈发展目标;家乐福中国未来谋求独立上市;微盟开放接入支付宝小程序能力...
  4. NIPS2018 Workshop一览
  5. php查看音频属性,PHP获取音频mp3文件时长或音频文件其它参数属性
  6. 锁Lock,主要是重入锁和读写锁
  7. CIKM 2021 | 基于异质图学习的搜索广告关键词推荐模型及实践
  8. 管状合金电阻和片状合金电阻的区别_SAE 6118、高电阻合金际锻材
  9. nodejs/pomelo 使用 mongodb 连接 mongo时 出现
  10. Mysql忘记密码,支持中文,tab补全
  11. 算法:有效九宫格数独Valid Sudoku
  12. SCSI设备IO栈与块设备并发机制
  13. f1c100s rootfs调试记录
  14. APDU指令返回码及其代表含义
  15. win10创建新的计算机用户名和密码,Win10怎么新建账户 Win10创建新用户图文教程...
  16. 山东网通和电信的DNS
  17. 计算机怎么给硬盘加密,电脑上的硬盘如何加密?几种文件加密的方法
  18. 浙江大学计算机学院何钦铭,浙江大学导师介绍--何钦铭
  19. eclips 快捷键大全
  20. K860i的109升级需要的PinyinIME.apk和QuickSearchBox.apk两个文件

热门文章

  1. 戴尔服务器系统缓存怎么清理,戴尔笔记本怎样清理磁盘空间
  2. Java多线程系列--【JUC集合10】- ConcurrentLinkedQueue
  3. Crosses and Crosses
  4. Kubuntu20.04开启UI的root登录
  5. 关于一台电脑安装多个jdk后使用时如何切换
  6. 关于防火墙以及其作用
  7. 量产光伏离网并网逆变器设计资料(TMS320F28335) 这个是单项的 本装置DC-DC采用Boost升压,DCAC采用单相全桥逆变电路结构
  8. 企业信息系统集成发展阶段及ESB对企业的价值体现
  9. html5 blockquote,html5 – 正确的HTML Blockquote
  10. 作为面试官,我是如何甄别应聘者的包装程度