简单地利用canvas载入视频
2018-02-16 08:53
344 查看
canvas加载视频和图片是一样的,使用drawImage,区别就是给一个定时器不停的抓取每帧的画面,放入Canvas画布里面,这个办法有点简单粗暴,原理为:监听了video的play事件,并设置定时器,每20ms调用一次drawImage,当video的ended事件触发时,清除定时器。<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Test</title>
</head>
<body>
<video src="p03501roz02.p702.1.mp4" id="video1" width="270" controls autoplay></video>
<canvas id="myCanvas" width="270" height="135"></canvas>
<script>
var v = document.getElementById('video1')
var c = document.getElementById('myCanvas')
var ctx = c.getContext('2d')
// 每20ms画一次图
v.addEventListener('play', function () {
var i = window.setInterval(function () {
ctx.drawImage(v, 0, 0, 270, 135);
if (v.ended) {
clearInterval(i)
}
}, 20)
});
</script>
</body>
</html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Test</title>
</head>
<body>
<video src="p03501roz02.p702.1.mp4" id="video1" width="270" controls autoplay></video>
<canvas id="myCanvas" width="270" height="135"></canvas>
<script>
var v = document.getElementById('video1')
var c = document.getElementById('myCanvas')
var ctx = c.getContext('2d')
// 每20ms画一次图
v.addEventListener('play', function () {
var i = window.setInterval(function () {
ctx.drawImage(v, 0, 0, 270, 135);
if (v.ended) {
clearInterval(i)
}
}, 20)
});
</script>
</body>
</html>
相关文章推荐
- iOS开发--利用MPMoviePlayerViewController播放视频简单实现
- 利用canvas破解简单验证码
- html5 利用canvas实现简单的人物走动
- Android利用ViewPager实现一个简单的载入界面
- 利用简单工具进行客观视频质量分析
- H5 canvas如何载入视频
- canvas如何简单粗暴地载入视频
- qml学习--------------利用Canvas绘制简单图形
- javaScript 利用canvas实现简单画板
- 利用JMF播放视频 简单示例
- 简单的canvas加载图片与视频
- 利用html5 canvas破解简单验证码及getImageData接口应用
- iOS开发--利用MPMoviePlayerController播放视频简单实现
- html5学习笔记二:利用canvas绘制简单图形
- html5 利用canvas实现超级玛丽简单动画
- 利用VideoView简单实现视频播放 包括 横竖屏切换 声音 亮度 暂停
- 利用闲置硬盘建立简单的家用NAS--之resilio-sync做跨网络文件同步、备份手机照片、视频
- FLV视频直播系统-----利用ffmpeg+ffserver搭建最简单的FLV视频直播系统(ubuntu)
- Android中利用Canvas画简单柱状图
- 利用ffmpeg实现最简单的视频播放功能