View Page Source

Revision (current)
Last Updated by feos on 9/6/2023 7:58 PM
Back to Page

This page describes how to encode an emulator movie, if it isn't needed to make it of publication quality. To study encoding movies to be published, see [Encoding Guide / Publication Manual].

!! Basics

There are only a few steps for such encodes.
* Dump AVI (lossless or lossy)
* Upscale (point-based) - ''optional''
* Add subtitles - ''optional''
* Share
After dumping, all can be done with just VirtualDub, or with AviSynth as well.

!! Downloads

! Codecs

Lossless
* [http://sourceforge.net/projects/camstudio/files/legacy/|CamStudioCodec]
* [http://lags.leetcode.net/codec.html|Lagarith Installer]
Lossy
* [http://sourceforge.net/projects/x264vfw/files/?source=navbar|x264vfw]

! Editing tools

* [http://sourceforge.net/projects/avisynth2/files/AviSynth_Alpha_Releases/|AviSynth Alpha installer]
* [http://virtualdub.sourceforge.net/|VirtualDub portable]
* [http://codecpack.co/download/FFInputDriver.html|FFInputDriver] - VirtualDub pluging for anything other than AVI.

!! Dumping AVI

We imply you already know, that you can not just capture your play to AVI in real time, but to record an emulator movie and play it back, capturing AVI from this. We have a video dumping guide for TASable emulators:

[Encoding Guide / Video Dumping]

After you do the above, you get prompted to choose and configure the codec. You can use a lossless one (good for upscaling) or a lossy one (fast and compressing heavier).

%%TAB x264vfw%%

* Preset: Ultrafast 
* Tuning: Animation 
* Rate control: Single pass - ratefactor-based 
* Ratefactor: experiment with it. 
* Zero latency must be checked!

%%TAB CamStudio%%

* Check __GZIP__ rediobutton
* Select the desired compression __Level__ (start from Level 5, that leaves room for speeding up the emulator)

%%TAB Lagarith%%

* Check __Enable Null Frames__
* Check __Use Multithreading__
* Select __Mode__: RGB (Default)

%%TAB_END%%

!! Editing

%%TAB VirtualDub

* Drag the dump to VD
** If the dump consists of several segments with the same video parameters, go to File -> Append AVI segment and select your __second__ segment. VD will automatically import them all.
* Video -> Filters -> Add: resize. Filter mode: Nearest neigbour. New size -> Relative: 200 (300, 400, anything you want)
** If you want to upload to youtube and preserve framerate above 30, upscale the height to 720 pixels or higher.
There's no simple function in VD for subtitles. Use AviSynth for that.

%%TAB AviSynth 

Create a text file with the following text and change its extension to {{.avs}}:

%%SRC_EMBED sh

AVISource("yourmovie.avi")
PointResize(width * 2,height * 2) # upscale to 720p or higher if you want youtube to preserve framerate above 30.
Subtitle("Your subtitles", y=0, align=8, first_frame=0, last_frame=1000, \
    size=10, text_color=$00FFFFFF, halo_color=$00000000, lsp=2)
return last

%%END_EMBED

Put your movie to the same folder, change the AVISource parameter to match its name, edit or remove the lines you don't need (adjust the [http://avisynth.org/mediawiki/Subtitles|subtitles]), still drag the script file to VirtualDub.

%%TAB_END%%

In the VD menu:
* Video -> Compression -> x264vfw (if upscaled, you can use ratefactor 15-20)
* File -> Save as AVI

!! Sharing

* Upload to video-sharing websites like YouTube, or file hosting services like Dropbox.
* Be proud of yourself!