1
1
2
2
( function ( ) {
3
- var $video , $buffer , $primary , $secondary , video , buffer , primary , secondary , bufferCtx , primaryCtx , secondaryCtx ;
3
+ var $video , $buffer , $primary , $secondary , video , buffer , primary , secondary , bufferCtx , primaryCtx , secondaryCtx ,
4
+ initializeCanvases , config ;
5
+
6
+ // var getResult = $.getJSON('/video/video.json');
7
+ //
8
+ //
9
+ // console.log(getResult);
10
+ // var configText = getResult.responseText;
11
+ // console.log(configText);
12
+ // config = jQuery.parseJSON(configText);
13
+
14
+
15
+ config = { "primary" : { "x" : 0 , "y" : 0 , "w" : 1200 , "h" : 720 } , "secondary" : { "x" : 1200 , "y" : 480 , "w" : 320 , "h" : 240 } } ;
4
16
$video = $ ( 'video' ) ;
5
- $buffer = $ ( '#buffer' ) ;
6
17
$primary = $ ( '#primary' ) ;
7
18
$secondary = $ ( '#secondary' ) ;
8
19
video = $video [ 0 ] ;
9
- buffer = $buffer [ 0 ] ;
10
20
primary = $primary [ 0 ] ;
11
21
secondary = $secondary [ 0 ] ;
12
22
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 ( ) ;
23
+ initializeCanvases = function ( ) {
24
+ var renderFrame ;
25
+ primaryCtx = primary . getContext ( '2d' ) ;
26
+ secondaryCtx = secondary . getContext ( '2d' ) ;
27
+
28
+ primary . height = config . primary . h ;
29
+ primary . width = config . primary . w ;
30
+ secondary . width = config . secondary . w ;
31
+ secondary . height = config . secondary . h ;
32
+
33
+ renderFrame = function ( ) {
34
+
35
+ // Render a slice into the primary canvas.
36
+ primaryCtx . drawImage ( video , config . primary . x , config . primary . y , config . primary . w , config . primary . h , 0 , 0 ,
37
+ config . primary . w , config . primary . h ) ;
38
+
39
+ secondaryCtx . drawImage ( video , config . secondary . x , config . secondary . y , config . secondary . w ,
40
+ config . secondary . h , 0 , 0 , config . secondary . w , config . secondary . h ) ;
41
+ } ;
42
+ setInterval ( renderFrame , 30 ) ;
43
+
44
+ } ;
45
+ $video . bind ( 'canplay' , initializeCanvases ) ;
46
+
47
+ video . play ( ) ;
25
48
26
49
} ) ( ) ;
0 commit comments