[Original Author: TimeStar]
This guide will show you how to take a demo recorded in OpenArena and turn it into an AVI file suitable for uploading to YouTube or other video sharing website.
* Some video editing or converting program, e.g. avidemux, ffmpeg, virtualdub, etc.
o As part of this you will need an MJPEG codec for your video editing software, AllegedlyDead suggested K-Lite Codec Pack
, which I also recommend.
You will first need to record a demo, as far as I know Defrag does this automatically when you load a map but here is how to do it manually:
/record "<demoname>" // Starts recording a demo to "<demoname>"
/stoprecord // Stop recording the demo
NOTE: Text after and including // is a comment and is not meant to be part of the command.
Playing back a demo
You can play back a demo using the /demo command like so:
Creating an AVI from a demo
Setting up OpenArena for recording
Having a demo that you can watch in-game is nice and everything but to watch them you need to run OpenArena so we are going to turn them into AVI files that can be played in a video playing program.
To do this you will need to set some cvars (console variables):
/cl_aviMotionJpeg [1,0] // this cvar controls which format the AVI file is created in - set it to 0 for uncompressed video
(uses insane amounts of hard drive space) or set it to 1 for Motion Jpeg which is more space efficient, but lower quality.
/cl_aviFrameRate // This is the frame rate that the AVI is created at, higher values make the video appear smoother when
playing back but need more CPU power, the default of 25 should be fine for most people (Hollywood movies are recorded at
24 FPS and TV is about 30 FPS)
/r_mode // This cvar controls your screen resolution (there is a list of which values correspond to which resolutions at
the bottom of this page) set it to -1 to use the r_custom* settings
/r_customWidth // This will let you set a custom screen width in pixels
/r_customHeight // This will let you set a custom screen height in pixels
/vid_restart // This needs to be run to change the resolution set with r_mode or r_custom*.
/s_useOpenAL [1,0] // This controls whether OpenAL is used to play back sound, it needs to be 0 for sound to be recorded in the AVI
/s_restart // Run this after changing s_useOpenAL
For video sharing websites like YouTube you can probably use a resolution of 640x480 (r_mode 3) or even 320x240.
Creating the AV
Now that you have set your settings above it's time to record the video. To do this run the following command:
/demo "<demoname>" ; video "<videoname>" // This will play back the demo called <demoname> and immediately
after the map loads will start recording an AVI to <videoname>
You can also use the /video and /stopvideo commands while playing back a demo to record sections of it but I personally prefer to have the whole thing which I can cut up in an editing program later.
Creating the AVI on a separate hard drive
1. In-game, find out what the value of the fs_homepath cvar is set to.
2. Quit the game and browse to the folder that fs_homepath was set to
3. Copy this folder to your other hard drive
4. Modify the OpenArena shortcut so that it has
+set fs_homepath "<your/new/harddrive>"
at the end of the command, replace <your/new/harddrive> with the location of the folder you copied over in step 3, e.g. if you copied it to L:\openarena\ then you would put this in the shortcut command
+set fs_homepath "L:/openarena/"
5. Run OpenArena using the modified shortcut and it will run from your other hard drive allowing you to save videos there instead of on your primary hard drive.
Note: if you are on GNU/Linux you could just use a symlink.
Compressing the AVI
While we have an AVI file from the game it is most likely too large to upload and, in the case of MJPEG video, might not play back properly. To solve this issue we are going to have to convert it to some more compressed format such as MPEG4 or Ogg/Theora. This is where your video encoding or editing program comes in and is also where you should do any editing you would like to do on the video (adding titles or cool effects). I'm going to use avidemux as an example because it's free, I have it installed and it comes with all the codecs you need. There are probably better guides for using avidemux and of course you are free to use whatever editing software you like, this is just an example.
1. Go to File -> Open and find your video file then open it (it will most likely be somewhere like "/home/your-name/.openarena/baseoa/video" on GNU/Linux or "C:\Documents and Settings\your-name\Application Data\OpenArena\baseoa\video" on Windows.
2. From the drop down box on the left under Video select "MPEG-4 ASP (lavc)".
3. From the drop down box under Audio select "MP3 (LAME)".
4. You can play around with the options under "Configure" for the Audio and Video sections but you probably want to use a low bitrate (< 300) if the video is going on YouTube.
5. Set the output format to AVI or MP4.
6. From the File menu select Save > Save Video then enter a location for the final AVI to be saved.
7. The video will now be encoded into the formats you selected. Once it's done you will probably want to watch it to make sure it looks OK and if so...
8. Upload it!
Video editing and codecs
If you open MJPEG video you recorded from OpenArena (ioquake3 engine) in editing software like Sony Vegas, Adobe Premiere or Virtual Dub, you may be not be able to use audio only. The reason for this is in the MJPEG format which is not suitable for video editing - you have to convert it to another format or capture video in uncompressed AVI (cl_aviMotionJpeg - see above). However, the amount free space needed for the AVI is huge (about 1GB per minute).
Suggested solutions are:
For video quality:
* Record in uncompressed AVI, and edit it.
* Record in uncompressed AVI, and and convert it to MPEG2 or DV (or any other prefered editing format), then edit.
For reasonable resources:
* Record in MJPEG, and convert it to MPEG2 or DV (or any other prefered editing format).
* MPEG2 supports non-linear editing for all formats of video, that is why is suitable.
* If you are to edit your videos, do not convert them to fomats like DivX or WMV.
I hope you have found this guide useful, post any comments such as improvements in this forum thread