Graphics.MakingMovies - lordmundi/wikidoctest GitHub Wiki

Making Movies

NOTE: DOUG now has a better way to help you render movies. See here.

This page is meant to be a page to list the tools and processes you can use in order to make movies or demos. If you make some movies with EDGE, please add that experience here, even it it wasn't fruitful! The more info, the better.

Simdata plugin

The best way to capture movies in EDGE versions > 2.2 is to use the simdata record feature. More information on that is here:

Istanbul

  • Link: http://live.gnome.org/Istanbul
  • Description: Istanbul is a desktop session recorder for the Free Desktop. It records your session into an Ogg Theora video file. To start the recording, you click on its icon in the notification area. To stop you click its icon again. It works on GNOME, KDE, XFCE and others.

I captured some videos real quick using "istanbul" on linux. very easy. just select an area of the screen to record, then click to start recording. Istanbul records things in ogg by default which should be playable on any linux box and there should be tools to convert that to whatever you want. Keith has a short page on how he converted an ogg video using ffmpeg here.

Yukon

  • Link: http://www.neopsis.com/projects/yukon/
  • Description: Yukon is a set of libraries and applications that are designed to capture realtime videos of OpenGL applications (games). The original design idea is based on Anandtech's FrameGetter, but was extended to suit todays high-performance computers.

Yukon which is much better for recording opengl/3d windows as that is its focus. This results in much higher quality movies of the EDGE 3D window. It works a lot better but only captures the opengl window as far as I can tell. I recorded some videos with that but it took some fiddling, but not too much. I followed the HowTo on the website for installation.

The main fiddling on the doug side was to add the following line in userdata/user_env.csh:

# Set DOUG_USER_LIB_DIR to point to /usr/local/lib for yukon libs
setenv DOUG_USER_LIB_DIR  /usr/local/lib

Next, we need to run the doug executable using the yukon wrapper. Since the doug call is already wrapped in our "run_graphics" script, we run the commands from there manually in the shell so that we can modify the call to doug. Looking at the run_graphics script in EDGE v1.1, I just ran the following commands from there in my shell, modifying the actual doug call to include the yukon wrapper:

setenv DOUG_HOME  `pwd`
source .doug_cshrc

setenv LD_LIBRARY_PATH          ${DOUG_USER_LIB_DIR}:${DSP_HOME}/lib_${VR_HOST_CPU}
setenv LD_LIBRARYN32_PATH       ${DOUG_USER_LIB_DIR}:${DSP_HOME}/lib_${VR_HOST_CPU}

yukon ./bin_${VR_HOST_CPU}/doug -tmesh_tries 2 -tmesh_size 4 -double -mode server ${DOUG_USER_ARGS}

Now, as the instructions state, after getting the view, sim data, and overlays set up like I want, I press "F8" to start recording. After closing doug, I can use the following command to play the video:

seom-player /tmp/yukon.seom

… and I can convert it to a mpeg4 video using the following command:

seom-filter /tmp/yukon.seom | mencoder - -o ./yukon.avi -ovc lavc

GLC

  • Link: http://nullkey.ath.cx/projects/glc/
  • Description: glc is an ALSA & OpenGL capture tool for Linux. It consists of a generic video capture, playback and processing library and a set of tools built around that library.

GLC is very similar to yukon.

My notes on using it on a Centos 5 machine:

yum install alsa-lib-devel.i386
wget ftp://fr.rpmfind.net/linux/EPEL/5/i386/cmake-2.4.8-3.el5.i386.rpm
sudo rpm -ivh cmake-2.4.8-3.el5.i386.rpm
yum install libXxf86vm.i386 libXxf86vm-devel.i386

wget http://nullkey.ath.cx/~stuff/glc/scripts/glc-build.sh
./glc-build.sh

to capture i did:
glc-capture ./run_graphics
... then hit Shift-F8 to start capturing, and again to stop

and to play:
glc-play doug-13322-0.glc

and to encode:
glc-play doug-13322-0.glc -o - -y 1 | mencoder -demuxer y4m - -nosound -ovc x264 -x264encopts qp=18:pass=1 -of avi -o video.avi

i also tried an alternative codec that seems to work in windows:
glc-play doug-5393-0.glc -o - -y 1 | mencoder -demuxer y4m - -nosound -ovc lavc -lavcopts vcodec=msmpeg4v2:vbitrate=1800 -of avi -o kedalion_abort_pa1_msmpeg4.avi