`

HTML5 中捕捉视频的小TIPS

阅读更多
今天发现一段不错的HTML 5小TIPS,主要是在支持HTML 5的浏览器上,
在播放视频时,可以点按钮,而把当前帧的图象CUT到一个canvas中去,下面上代码:

var videoId = 'video';
var scaleFactor = 0.25;
var snapshots = [];
 
/**
 * Captures a image frame from the provided video element.
 *
 * @param {Video} video HTML5 video element from where the image frame will be captured.
 * @param {Number} scaleFactor Factor to scale the canvas element that will be return. This is an optional parameter.
 *
 * @return {Canvas}
 */
function capture(video, scaleFactor) {
	if(scaleFactor == null){
		scaleFactor = 1;
	}
	var w = video.videoWidth * scaleFactor;
	var h = video.videoHeight * scaleFactor;
	var canvas = document.createElement('canvas');
		canvas.width  = w;
		canvas.height = h;
	var ctx = canvas.getContext('2d');
		ctx.drawImage(video, 0, 0, w, h);
	return canvas;
}
 
 
/**
 * Invokes the <code>capture</code> function and attaches the canvas element to the DOM.
 */
function shoot(){
	var video  = document.getElementById(videoId);
	var output = document.getElementById('output');
	var canvas = capture(video, scaleFactor);
		canvas.onclick = function(){
			window.open(this.toDataURL());
		};
	snapshots.unshift(canvas);
	output.innerHTML = '';
	for(var i=0; i<4; i++){
		output.appendChild(snapshots[i]);
	}
}




HTML 部分代码:
[align=center;]
	<video id="video" width="320" controls="true">
		<source src="video.ogv"><!-- FireFox 3.5 -->
		<source src="movie.mp4"><!-- WebKit -->
		Your browser does not support HTML5 video tag. Please download FireFox 3.5 or higher.
	</video><br/>
	<button onclick="shoot()" style="width: 64px;border: solid 2px #ccc;">Capture</button><br/>
	<div id="output" style="display: inline-block; top: 4px; position: relative ;border: dotted 1px #ccc; padding: 2px;">[/align]
</div>



样例在:http://appcropolis.com/blog/using-html5-canvas-to-capture-frames-from-a-video/
2
1
分享到:
评论

相关推荐

    微信小程序tips消息滚动轮播

    在微信小程序中,实现“tips消息滚动轮播”是一项常见的需求,它可以帮助用户接收和展示重要的提示信息。这里我们将深入探讨如何使用JavaScript(js)在微信小程序环境下构建一个从右开始循环轮播的tips消息系统。 ...

    abap tips abap tips

    abap tips abap tips abap tips abap tips abap tips

    JS实现简单实用的自动动态tips提示信息框(小的气泡框)效果

    在网页开发中,提示信息框(Tips)是一种常见的交互元素,用于向用户显示临时或辅助性的信息。在JavaScript中,我们可以轻松实现这种自动动态的tips提示信息框效果,以提高用户体验。下面将详细介绍如何利用...

    html5 网页加载中效果

    在提供的压缩包文件"Tips"中,可能包含了实现上述效果的源代码和注释,通过学习和理解这些代码,你可以更好地将这些技术应用到自己的项目中,根据需求进行修改和扩展。 总的来说,HTML5不仅提供了丰富的功能,还...

    3种形式tips帮助提示框代码,鼠标悬停在问号上,出现提示框。提示框有纯文字,html代码,图片三种形式。兼容主流浏览器

    在HTML中,我们可以使用`title`属性来创建一个简单的提示框。例如: ```html 这是一个纯文字提示"&gt; ``` 这里的`&lt;i&gt;`标签通常用来表示图标,`class="help-icon"`可以是自定义的CSS类,用于设置图标的样式。`title`...

    android TIPS小结android TIPS小结

    在Android开发中,有一些实用的小技巧可以提升应用的用户体验和功能。以下是一些关键知识点的详细解释: 1. **APP自动升级**: 当需要实现APP自动升级时,首先需要在`AndroidManifest.xml`文件中添加`INSTALL_...

    Tips基于jQuery的提示框插件可自动消失可手动消失

    要使用这个基于jQuery的Tips插件,首先你需要在项目中引入jQuery库和Tips插件的JavaScript文件。假设在`Tips-master`压缩包中包含以下文件: 1. `jquery.js` - jQuery的核心库,确保在所有其他脚本之前引入。 2. `...

    精品软件工具--Tips是一款办公工具软件,用来对日常工作事务进行管理。能够根据任务的类别,重要紧急程度和时间紧迫性计.zip

    【标题】中的“精品软件工具--Tips”是一款专为办公环境设计的任务管理软件,它旨在帮助用户有效地组织和管理日常的工作事务。通过该软件,用户可以对各项任务进行分类,以便于区分不同的工作内容和责任领域。此外,...

    jquery tips提示插件自适应屏幕宽度提示图片信息

    2. 引入jQuery Tips插件:接着,将jQuery Tips插件的JavaScript文件和CSS文件添加到你的项目中。 3. 初始化插件:在JavaScript中,调用$.fn.tips()函数来初始化插件,并设置参数,如提示内容、触发事件、提示位置等...

    jQuery_Tips_插件

    在HTML中,`title`属性通常用于提供元素的默认提示。jQuery_Tips插件可以方便地利用这些内置的`title`属性,同时允许你根据需要覆盖它们: ```html 默认的提示"&gt;链接 ``` 在JavaScript中,你可以决定是否使用这个...

    jquery tips提示图片信息.rar

    在IT行业中,jQuery是一个广泛使用的JavaScript库,它简化了HTML文档遍历、事件处理、动画设计和Ajax交互。本资源“jquery tips提示图片信息.rar”显然聚焦于利用jQuery实现一种图片提示信息的功能,这通常涉及到...

    性能测试小Tips

    性能测试小Tips软件测试1、性能测试的目的:通过测试确认软件是否满足产品的性能需求,同时发现系统中存在的性能瓶颈,起到优化系统的目的。2、性能测试指标的来源:测试的依据是产品的需求规格说明书;如果用户没有...

    Tips隐私政策.html

    Tips隐私政策.html

    html-tips-tricks:我最喜欢HTML5技巧和窍门

    html-tips-tricks HTML5并不是新事物。自初始版本(2014年10月)以来,我们一直在使用它的多个功能。作为#100DaysOfCode计划的一部分,我花了一些时间再次访问功能列表。看到我发现了什么?我还没有真正使用过它!在...

    Swift 开发者必备 Tips

    以上只是"Swift 开发者必备 Tips"中可能涵盖的一部分内容,通过深入学习并实践这些Tips,开发者可以提升自己的Swift编程技能,编写出更加高效、优雅的代码。"objccn-swifter-tips.epub"这本书籍可能提供了更详尽的...

    Swift tips Swift 开发者必备的tips

    在Swift编程语言的世界里,掌握一系列实用的技巧和最佳实践对于提升开发效率至关重要。...通过阅读《Swift tips》这本书,开发者将能够更好地理解并掌握Swift 4.0的精髓,从而在实际项目中游刃有余。

    Echarts地图tips轮播.rar

    1. **初始化ECharts实例**:在HTML中创建一个div元素作为ECharts的容器,然后通过`echarts.init`方法初始化ECharts实例。 2. **配置项设置**:在ECharts实例上设置配置项,包括地图类型、数据、Tips样式、以及...

    一个显示Tips对话框的例子

    在编程领域,特别是GUI(图形用户界面)设计中,"Tips对话框"是一种常见的功能,它用于向用户提供简短的提示信息。这个例子是关于如何在应用程序中实现Tips对话框的教程,主要针对控件使用的类。让我们深入探讨一下...

    wxPython Grid Tips and Tricks

    wxPython Grid Tips and Tricks

    弹出提示框 tips

    在Windows编程中,提示框(Tips)是一种常见且实用的功能,它可以在用户将鼠标悬停在特定控件上时提供额外的信息。标题“弹出提示框 tips”指的是一个基于CWnd类实现的自定义弹出式提示框,这种提示框能够在鼠标指针...

Global site tag (gtag.js) - Google Analytics