Skip to content

Commit 02dadde

Browse files
committed
Render canvas buffer copy of video tag
1 parent f72ad15 commit 02dadde

File tree

4 files changed

+50
-0
lines changed

4 files changed

+50
-0
lines changed

src/main/webapp/demo.html

+19
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
<!DOCTYPE html>
2+
<html>
3+
<head>
4+
<link rel="stylesheet" type="text/css" href="style/main.css" />
5+
</head>
6+
<body>
7+
<video controls>
8+
<source src="video/video.webm" type='video/webm; codecs="vp8, vorbis"' />
9+
</video>
10+
<br/>
11+
<canvas id="buffer"></canvas>
12+
<canvas id="primary"></canvas>
13+
<canvas id="secondary"></canvas>
14+
15+
<script src="js/jquery.js"></script>
16+
<script src="js/main.js"></script>
17+
</body>
18+
</html>
19+

src/main/webapp/js/jquery.js

+4
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/main/webapp/js/main.js

+26
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
2+
(function() {
3+
var $video, $buffer, $primary, $secondary, video, buffer, primary, secondary, bufferCtx, primaryCtx, secondaryCtx;
4+
$video = $('video');
5+
$buffer = $('#buffer');
6+
$primary = $('#primary');
7+
$secondary = $('#secondary');
8+
video = $video[0];
9+
buffer = $buffer[0];
10+
primary = $primary[0];
11+
secondary = $secondary[0];
12+
13+
$video.bind('canplay', function() {
14+
bufferCtx = buffer.getContext('2d');
15+
primaryCtx = primary.getContext('2d');
16+
secondaryCtx = secondary.getContext('2d');
17+
buffer.height = video.videoHeight;
18+
buffer.width = video.videoWidth;
19+
setInterval(function() {
20+
bufferCtx.drawImage(video, 0, 0);
21+
}, 30);
22+
});
23+
24+
video.play();
25+
26+
})();

src/main/webapp/style/main.css

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
video { display: none; }

0 commit comments

Comments
 (0)