Mercurial > cortex
diff org/capture-video.org @ 573:ebdedb039cbb tip
add release.
author | Robert McIntyre <rlm@mit.edu> |
---|---|
date | Sun, 19 Apr 2015 04:01:53 -0700 |
parents | 7e7f8d6d9ec5 |
children |
line wrap: on
line diff
1.1 --- a/org/capture-video.org Sun Mar 08 22:08:17 2015 -0700 1.2 +++ b/org/capture-video.org Sun Apr 19 04:01:53 2015 -0700 1.3 @@ -25,7 +25,7 @@ 1.4 1.5 * Video recording requires a steady framerate 1.6 ** The built-in =Timer= rushes to keep up. 1.7 -#* Game-time vs. User-time vs. Video-time 1.8 +# * Game-time vs. User-time vs. Video-time 1.9 1.10 Standard JME3 applications use a =Timer= object to manage time in the 1.11 simulated world. Because most JME3 applications (e.g. games) are 1.12 @@ -59,7 +59,7 @@ 1.13 # result, this policy ensures that the user will never be kept waiting 1.14 # while the computer stops to make a complicated calculation. 1.15 1.16 -#fast answers are more important than accurate ones. 1.17 +# fast answers are more important than accurate ones. 1.18 1.19 # A standard JME3 application that extends =SimpleApplication= or 1.20 # =Application= tries as hard as it can to keep in sync with 1.21 @@ -178,7 +178,7 @@ 1.22 1.23 1.24 =./src/com/aurellem/capture/IsoTimer.java= 1.25 -#+include ../../jmeCapture/src/com/aurellem/capture/IsoTimer.java src java 1.26 +#+INCLUDE: "../../jmeCapture/src/com/aurellem/capture/IsoTimer.java" src java 1.27 1.28 If an Application uses this =IsoTimer= instead of the normal one, we 1.29 can be sure that every call to =simpleUpdate=, for example, 1.30 @@ -202,8 +202,7 @@ 1.31 this: 1.32 1.33 =./src/com/aurellem/capture/video/VideoRecorder.java= 1.34 -#+include ../../jmeCapture/src/com/aurellem/capture/video/VideoRecorder.java src java 1.35 - 1.36 +#+include: "../../jmeCapture/src/com/aurellem/capture/video/VideoRecorder.java" src java 1.37 1.38 JME3 already provides exactly the class we need: the =SceneProcessor= 1.39 class can be attached to any viewport and the methods defined therein 1.40 @@ -221,7 +220,7 @@ 1.41 of setup and teardown. 1.42 1.43 =./src/com/aurellem/capture/video/AbstractVideoRecorder.java= 1.44 -#+include ../../jmeCapture/src/com/aurellem/capture/video/AbstractVideoRecorder.java src java 1.45 +#+include: ../../jmeCapture/src/com/aurellem/capture/video/AbstractVideoRecorder.java src java 1.46 1.47 1.48 ** There are many options for handling video files in Java 1.49 @@ -235,7 +234,7 @@ 1.50 video file. 1.51 1.52 =./src/com/aurellem/capture/video/XuggleVideoRecorder.java= 1.53 -#+include ../../jmeCapture/src/com/aurellem/capture/video/XuggleVideoRecorder.java src java 1.54 +#+include: ../../jmeCapture/src/com/aurellem/capture/video/XuggleVideoRecorder.java src java 1.55 1.56 With this, we are able to record video! 1.57 1.58 @@ -244,7 +243,7 @@ 1.59 Randelshofer's]] excellent pure Java AVI file writer. 1.60 1.61 =./src/com/aurellem/capture/video/AVIVideoRecorder.java= 1.62 -#+include ../../jmeCapture/src/com/aurellem/capture/video/AVIVideoRecorder.java src java 1.63 +#+include: ../../jmeCapture/src/com/aurellem/capture/video/AVIVideoRecorder.java src java 1.64 1.65 This =AVIVideoRecorder= is more limited than the 1.66 =XuggleVideoRecorder=, but requires less external dependencies. 1.67 @@ -256,10 +255,7 @@ 1.68 this information is lost when saving each frame to a file. 1.69 1.70 =./src/com/aurellem/capture/video/FileVideoRecorder.java= 1.71 -#+include ../../jmeCapture/src/com/aurellem/capture/video/FileVideoRecorder.java src java 1.72 - 1.73 - 1.74 - 1.75 +#+include: ../../jmeCapture/src/com/aurellem/capture/video/FileVideoRecorder.java src java 1.76 1.77 * How to record videos yourself 1.78 1.79 @@ -343,14 +339,13 @@ 1.80 I've added support for this under a class called 1.81 =com.aurellem.capture.Capture=. You can get it [[http://hg.bortreb.com/jmeCapture/][here]]. 1.82 1.83 - 1.84 ** Hello Video! example 1.85 1.86 I've taken [[http://code.google.com/p/jmonkeyengine/source/browse/trunk/engine/src/test/jme3test/helloworld/HelloLoop.java][=./jme3/src/test/jme3test/helloworld/HelloLoop.java=]] and 1.87 augmented it with video output as follows: 1.88 1.89 -=./src/com/aurellem/capture/examples/HelloVideo.java= 1.90 -#+include ../../src/com/aurellem/capture/examples/HelloVideo.java src java 1.91 +=./src/com/aurellem/capture/examples/HelloVideoRecording.java= 1.92 +#+include: ../../jmeCapture/src/com/aurellem/capture/examples/HelloVideoRecording.java src java 1.93 1.94 The videos are created in the =hello-video= directory 1.95 1.96 @@ -366,18 +361,17 @@ 1.97 1.98 - [[http://www.youtube.com/watch?v=C8gxVAySaPg][hello-video-moving.flv]] 1.99 #+BEGIN_HTML 1.100 -<iframe width="425" height="349" 1.101 +<iframe width="1062" height="872" 1.102 src="http://www.youtube.com/embed/C8gxVAySaPg" 1.103 frameborder="0" allowfullscreen> 1.104 </iframe> 1.105 #+END_HTML 1.106 - [[http://www.youtube.com/watch?v=pHcFOtIS07Q][hello-video-static.flv]] 1.107 #+BEGIN_HTML 1.108 -<iframe width="425" height="349" 1.109 +<iframe width="1062" height="872" 1.110 src="http://www.youtube.com/embed/pHcFOtIS07Q" 1.111 frameborder="0" allowfullscreen> 1.112 </iframe> 1.113 - 1.114 #+END_HTML 1.115 1.116 1.117 @@ -391,8 +385,8 @@ 1.118 simultaneous views of the same scene of cannonballs careening into a 1.119 brick wall. 1.120 1.121 -=./jme3/src/test/jme3test/helloworld/HelloPhysicsWithVideo.java= 1.122 -#+include ./jme3/src/test/jme3test/helloworld/HelloPhysicsWithVideo.java src java 1.123 +# =./jme3/src/test/jme3test/helloworld/HelloPhysicsWithVideo.java= 1.124 +# #+include: ./jme3/src/test/jme3test/helloworld/HelloPhysicsWithVideo.java src java 1.125 1.126 Running the program outputs four videos into the =./physics-videos= 1.127 directory. 1.128 @@ -590,7 +584,7 @@ 1.129 [[http://youtu.be/5_4wyDFwrVQ][HelloTerrain.avi]] 1.130 1.131 #+begin_html 1.132 -<iframe width="425" height="349" 1.133 +<iframe width="1062" height="872" 1.134 src="http://www.youtube.com/embed/5_4wyDFwrVQ" 1.135 frameborder="0" allowfullscreen> 1.136 </iframe> 1.137 @@ -600,7 +594,7 @@ 1.138 [[http://www.youtube.com/watch?v=oGg-Q6k1BM4][HelloAssets.avi]] 1.139 1.140 #+begin_html 1.141 -<iframe width="425" height="349" 1.142 +<iframe width="1062" height="872" 1.143 src="http://www.youtube.com/embed/oGg-Q6k1BM4?hl=en&fs=1" 1.144 frameborder="0" allowfullscreen> 1.145 </iframe> 1.146 @@ -610,7 +604,7 @@ 1.147 [[http://www.youtube.com/watch?v=TuxlLMe53hA][HelloEffects]] 1.148 1.149 #+begin_html 1.150 -<iframe width="425" height="349" 1.151 +<iframe width="1062" height="872" 1.152 src="http://www.youtube.com/embed/TuxlLMe53hA?hl=en&fs=1" 1.153 frameborder="0" allowfullscreen> 1.154 </iframe> 1.155 @@ -620,7 +614,7 @@ 1.156 [[http://www.youtube.com/watch?v=GPlvJkiZfFw][HelloCollision.avi]] 1.157 1.158 #+begin_html 1.159 -<iframe width="425" height="349" 1.160 +<iframe width="1062" height="872" 1.161 src="http://www.youtube.com/embed/GPlvJkiZfFw?hl=en&fs=1" 1.162 frameborder="0" allowfullscreen> 1.163 </iframe> 1.164 @@ -630,27 +624,17 @@ 1.165 [[http://www.youtube.com/watch?v=SDCfOSPYUkg][HelloAnimation.avi]] 1.166 1.167 #+begin_html 1.168 -<iframe width="425" height="349" 1.169 +<iframe width="1062" height="872" 1.170 src="http://www.youtube.com/embed/SDCfOSPYUkg?hl=en&fs=1" 1.171 frameborder="0" allowfullscreen> 1.172 </iframe> 1.173 #+end_html 1.174 1.175 -** HelloNode 1.176 -[[http://www.youtube.com/watch?v=pL-0fR0-ilQ][HelloNode.avi]] 1.177 - 1.178 -#+begin_html 1.179 -<iframe width="425" height="349" 1.180 - src="http://www.youtube.com/embed/pL-0fR0-ilQ?hl=en&fs=1" 1.181 - frameborder="0" allowfullscreen> 1.182 -</iframe> 1.183 -#+end_html 1.184 - 1.185 ** HelloLoop 1.186 [[http://www.youtube.com/watch?v=mosZzzcdE5w][HelloLoop.avi]] 1.187 1.188 #+begin_html 1.189 -<iframe width="425" height="349" 1.190 +<iframe width="1062" height="872" 1.191 src="http://www.youtube.com/embed/mosZzzcdE5w?hl=en&fs=1" 1.192 frameborder="0" allowfullscreen> 1.193 </iframe>