This page explains information needed to make AVI files for the TASvideos website.
Table of contents [
expand all] [
collapse all]
Introduction
The TASvideos site (formerly Nesvideos) was born from the need to provide
good-quality multimedia files of the TAS movies.
We take quality very seriously, and strive to produce files that are
pleasant to watch and that are as small as possible.
We also stress the informative value of the movies, and thus we have
a few guidelines, that are mandatory reading for anyone who wants to
make AVI files to be published on this site.
We aim for the best compromise of the following values. Even if it means days of more work for the encoder, it does not matter.
- Quality: As near perfect as possible.
- Size: As small as possible.
- Information: The video content must label the movie as a tool-assisted movie, to prevent misconceptions from occurring. A pointer to the TASvideos website is provided because it is currently the best source of TAS-related information in the Internet.
- Copyright: The video content must label the player by name, and the TASvideos website as the source. This information should be presented so prominently that it cannot be clipped out from the movie by video editing without extraordinary effort.
- Pleasantness: Annoy the audience as little as possible. Provide as undisturbed game video as possible.
File format
The recording should be AVI, because it is a free format unlike ASF, MOV and RM.
OGM and MKV are also technically allowed, but socially discouraged because their support is not yet widespread. Between OGM and MKV, the latter is a better choice.
The codec should be freely available for nearly all operating systems,
or compatible with freely available alternatives. Techsmith is not acceptable.
Video codec
Currently we favor x264 for video compression. XviD or DivX are technically allowed, but not recommended, because they create bigger files if you
aim for the same quality, or worse quality files if you aim for the same size.
See below for compression settings.
Video compression
The compression (for audio and video) should fulfill the following goals:
- Without destroying any interesting information of the video and audio.
- As small filesize as possible.
It is highly recommended to experiment with different settings
when making an AVI for each movie.
Bitrate is not the only thing
that affects the quality!
See
tips below.
Audio codec
You can use Ogg Vorbis or MP3.
We recommend MP3 when you use the AVI format, and Ogg Vorbis when you use MKV.
Ogg Vorbis is technically better than MP3, but putting it into an AVI causes
many compatibility problems, so it is not recommended.
Audio compression
- For NES, use 40 kbit/s VBR mono MP3 or Ogg Vorbis at quality setting -0.94.
- For SNES, Genesis and GBA, use 57 kbit/s VBR stereo MP3.
- For GB, use 40 kbit/s VBR stereo MP3.
You may (and should) adjust the bitrates as needed, depending on the properties of the sound in the particular game.
Capturing & Encoding an AVI
The movies must be recorded using a recorder that will not skip or duplicate frames.
A screen-recorder or other external program (such as Camtasia or Fraps)
is not acceptable, because they don't know when the contents of the
emulator window change. The preferred method is to capture with the rerecording emulator itself.
The
EmulatorResources/MakingAVI page contains links to tutorials on how convert various emulator movie file formats to a publishable AVI.
FPS (frames per second)
The movie must be recorded at full FPS so that each frame of the original video is displayed precisely once.
- No frames are skipped.
- No frames are duplicated.
For NES, SNES, Sega Genesis and the Game Boy family, this means 60 fps (or 50 fps for PAL games). 20-30 fps won't do.
When you use the recording feature built into the emulator itself, the FPS is usually automatically assigned so you do not need to worry about it.
Resolution (image size)
The movie must be unscaled with 1-to-1 pixel ratio. If aspect ratio correction
is used, it must be stored into the AVI without actual scaling taking place.
- For NES and SNES, the video size must be 256x224 or 256x240 (or 512x448 in the case of the SNES HiRes mode).
- For GBA, the video size must be 240x160.
- For GB/SGB/CGB, the video size must be 160x144.
- For Genesis, the video size must be 320x240.
- For N64, the video size can be 320x240 or greater, but see below.
The correct aspect ratio setting for NES, SNES, SGB, Sega Genesis and N64 videos is 4:3 (1.333).
GB/CGB and GBA don't need AR correction, because their resolution is always fixed to match the display matrix pixel-for-pixel without any kind of stretching involved. Thus, any AR that doesn't match the native resolution will distort the image.
In the case of N64, these extra quality requirements must be met:
- The highest-possible quality anti-aliasing, anisotropic filtering etc settings must be used. Neither the edges or the interiors of polygons must appear jagged.
Duration of the movie
The movie must begin from the moment the game boots up (or the movie-begin
savestate is loaded), and it must include the full ending and preferably
at least one full loop of the ending song.
Soundtrack
The movie must provide the soundtrack of the game being played.
The sound must not be replaced with something else.
Subtitles, logo, other extra added stuff
Logo
The movie must have a small pause screen or animation at the beginning,
containing a pointer to this website. It serves as a source identifier
and as a buffer for the viewer's reactions.
It should be only 1-2 seconds long.
The pause screen may be omitted if the game begins with a copyright or license
screen that lasts for more than 2 seconds.
The logo should display prominently the website of
http://TASvideos.org/ ,
and the text "This is a tool-assisted emulator movie" or a close variant thereof.
An animation or avatar can be used by the encoder's discretion, but the thing
that is most centrally present should be the website address, and the mention
that it is a tool-assisted movie.
The website address is there to provide information about the concept
of tool-assisted and the movie being shown; not to beg for visitors.
Take this into consideration when choosing the words to display.
Movie information
The movie must express the following information in some way,
preferably with an onscreen text:
- What game is being played in the movie
- Who created (played) the movie
- The length of the movie, directly derived from the number of frames
- The rerecord count
- A pointer to this website (http://TASvideos.org/)
- Please be careful to not make typing errors in the address.
- A tiny version of WhyAndHow (just a mention that the movie is tool-assisted is probably enough).
This information is usually expressed as subtitles.
- The subtitles must be clearly visible for long time enough to be easily read.
- The subtitles should be placed at such situation in the game that if someone decides to rip our AVI, the information will still be there.
- I.e. it should still be shown briefly when the actual action of the game begins.
- The subtitles should not overlap with anything interesting on the screen.
- Please ensure that the subtitles don't mask or block anything interesting on the screen.
- The total duration of the subtitles should be more than 2 seconds but not more than 10 seconds. It is allowed to show them twice (once in the movie beginning, and once when the actual playing begins).
Usually, our subtitles are shown in two parts.
The first part:
Title played by PlayerName
Playing length: hh:mm:ss, rerecord count: number
The second part:
This is a tool-assisted recording.
For details, visit http://TASvideos.org/
The first part is important, because it discourages people from claiming the
movie their own work, and it also prepares the viewer for what will be shown.
The second part is important, because it explains that the video is not a
real-time playing performance. It is explained briefly, and a pointer to the
Nesvideos website is given to provide the opportunity to read the
full details, as well as to point to a repository of more videos.
Most common reasons of not accepting an encoded AVI for publication on this site
- Does not indicate that the movie is tool-assisted
- Mispresents the URL of the site or does not present it at all (it is not supposed to be an advertisement; see logo above)
- Indicates the aforementioned, but the text is written in an illegible font or style, or overlaps with interesting content, or is gone before the game even begins
- Encoding (or recording, in case of Mupen64) quality is sub-par with existing publications (too high bitrate, too low bitrate, or too low perceived quality)
- The logo emphasises the encoder over any other information, or contains a distracting animation, or is too long
- The movie does not include the full ending of the game
- Bad audio-video sync, or drift (e.g. audio lags incrementally behind the video)
Tips
Currently we favor the x264 implementation of the H.264 video codec. These tips are for x264.
- Use the best motion detection settings you can afford. Uneven multi-hexagon search with range=16 is the standard. Even longer range might be useful in games that have very fast motion.
- Use 15 or 16 at "reference frames".
- Use multi-pass encoding. It nearly always improves the quality-to-size ratio.
- Use maximum subpixel refinement setting if your game uses subpixel motion (N64 uses always, SNES sometimes, NES never). If it does not use, you don't need to use the maximum setting.
- Good average bitrates vary between 140-450 kbit/s, depending on the video content.
- Usage of the "decimate" video filter option in MEncoder gives smaller filesizes without affecting video quality. However, it sacrifices seekability, so it is somewhat controversial. [1]
- Do not set the "keyint" value too high, as it will greatly reduce seekability (default is 250, values higher than 600 are discouraged).
- Do not use "noise reduction". Emulators do not simulate antenna or tape signal degradation, so there's no point in trying to reduce it.
N64 is rendered triangle-based, not pixel-based, so there are some extra strategies that are useful in the encoding of N64 movies (and
only in them):
- Use the maximum anti-alias setting.
- Use the maximum full-screen anti-alias setting (FSAA).
- Use the maximum anisotropic filtering setting.
- Ensure that in your display card settings, there is no color-correction/skew curve active.
- Record the movie at a high resolution (such as 1280x960), then downscale it into 320x240 with a lanczos scaler before or when encoding it. Yes, it will drastically slow down the sampling, but the quality difference is worth it.
Note: When capturing at higher resolutions, use integer ratios (N64's native resolution is 320x240, so capture at 640x480, 960x720, 1280x960, and so on) so that the image won't be innecessarily blurred upon downscaling.
See examples on the possible outcomes
here.
See also:
EmulatorResources/MakingAVI
Note: We recognize that the information on the
EmulatorResources/MakingAVI subpages is outdated.
Help is needed in updating them.
[
1]
DeHackEd: Decimate causes frames to not be sent to the encoder. As a result,
seekability is reduced, the bitrate is skewed based on how many frames are dropped
and some video players may seem to hang (notably MPlayer) if too many consecutive
frames are allowed to be dropped. That said, it can help compressability a bit
depending on the input material. These factors should be considered before using decimate. Decimate isn't necessarily bad, but it can be easily misused.


EncoderGuidelines last edited by
moozooh on 2008-06-27 19:26:45
Page info and history | Latest diff | List referrers