TASVideos

Tool-assisted console game movies
When human skills are just not enough

Encoder Guidelines

Guidelines for making multimedia files for publication

This page explains general guidelines for making multimedia files up to the standards of the TASvideos website. A more detailed "how to" can be found on MakingAVI pages.

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 MKV, MP4 or 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 tool-assisted, 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 a game video as undisturbed as possible.

File format

The recording should be MKV, because it is a free format with numerous technical advantages, or MP4, for having similar technical advantages while having the added benefit of being streamable.

OGM is technically allowed, but socially discouraged because its support is not widespread. Between OGM and MKV, the latter is a better choice.

AVI is discouraged as well since it lacks proper support for b-frames (or H.264, for that matter), chapters, soft subtitles, and Vorbis/AAC audio. This container also has more overhead, making videos larger than they need to be.

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 no longer allowed 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 should fulfill the following goals:
  1. Preserving all interesting video information (color, brightness, animation, movement).
  2. As small file size as possible.

It is highly recommended to experiment with different settings when making an MKV for each movie. Bitrate is not the only thing that affects the quality!

See tips below.


Audio codec

If you're using MKV, we recommend encoding audio with Ogg Vorbis. AAC is also technically allowed.

If you're using MP4, use AAC encoding (the end result will be streamable if both of these are met).

If you're using AVI, the only option is LAME MP3 encoder. Other codecs are not compatible with AVI or have worse quality/size ratio.

Audio compression

For Ogg Vorbis, simply use -q1. It gives an average bitrate of approximately 70–80 kbps.

For AAC, if you are using Nero's AAC encoder, use -q 0.25; this will normally produce HE-AAC (sound quality at effectively double the nominal bitrate) with bitrates from 32-64 kbps depending on the platform.

For MP3, you should use ABR or VBR mode. Use joint-stereo except for NES and SMS.

The following are guidelines for MP3 bitrate.

  • For NES, GB, GBC, SGB, and SMS, use 50-60 kbit/s.
  • For SNES, GBA, DS, PCE, Saturn, N64, PSX use 65-75 kbit/s.
  • For Genesis/32x/CD use 80-90 kbit/s.

Note: For all CD-based games that use Red Book audio, bitrate may be additionally raised to preserve quality.

Furthermore, you may (and should) adjust the bitrates as needed, depending on the properties of the sound in the particular game.


Capturing & Encoding a multimedia file

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.

Framerate

The movie must be recorded at full framerate so that each frame of the original video is displayed precisely once.
  • No frames are skipped.
  • No frames are duplicated.

This generally means 60 fps (frames per second) for NTSC games and 50 fps for PAL. Lower values won't do.

When you use the recording feature built into the emulator itself, the framerate 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. When aspect ratio correction is used, it must be stored in the MKV/AVI without actual scaling taking place.

  • For NES and SNES, the resolution must be 256x224 or 256x240 (or 512x448 in the case of the SNES HiRes mode).
  • For GBA, the resolution must be 240x160.
  • For GB/SGB/CGB, the resolution must be 160x144.
  • For Genesis, the resolution must be 320x240.
  • For N64, the resolution can be 320x240 or greater (see below).

For console platforms use an aspect ratio of 4:3 (1.333).
Handhelds 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, and 3D games on PSX and Saturn, these extra quality requirements must be met:

  • The anti-aliasing, anisotropic filtering, and other settings must be at highest possible quality. Neither the edges nor 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.

Logos are also used to identify who encoded the movie, so the logo should be distinctive and easy to differentiate from other logos.

Movie information

The movie must express the following information in some way, preferably with an onscreen text:

  1. What game is being played in the movie
  2. Who created (played) the movie
  3. The length of the movie, directly derived from the number of frames
  4. The rerecord count
  5. A pointer to this website (http://TASVideos.org/)
    • Please be careful to not make typing errors in the address.
  6. A mention that the movie is tool-assisted.

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 video file, 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 in hh:mm:ss.ss
  by PlayerName
  Rerecord count: number
The second part:
  This is a tool-assisted recording.
  For details, visit http://TASVideos.org/
The first part discourages people from claiming the movie their own work, and also prepares the viewer for what will be shown.
The second part explains that the video is not a real-time playing performance. It is explained briefly, and a pointer to the TASVideos 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 video file for publication on this site

  1. Does not indicate that the movie is tool-assisted
  2. Misrepresents the URL of the site or does not present it at all (it is not supposed to be an advertisement; see logo above)
  3. 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
  4. Encoding (or recording, in case of 3D games) quality is sub-par with existing publications (too high bitrate, too low bitrate, or too low perceived quality)
  5. The logo emphasises the encoder over any other information, or contains a distracting animation, or is too long
  6. The movie does not include the full ending of the game
  7. 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 doesn't, you don't need to use the maximum setting.
  • Good average bitrates vary between 140-450 kbit/s, depending on the video content.
  • Do not set the "keyint" value too high, as it will greatly reduce seekability (default is 250, values higher than 600 are discouraged, 300 is recommended).
  • Do not use "noise reduction". Emulators do not simulate antenna or tape signal degradation, so there's no point in trying to reduce it.
  • Use bframes for MKV/MP4.
  • Use deldup for MKV/MP4. [1]
  • With AVI use the "decimate" video filter option in MEncoder (within reason. A maximum duplicate frame range of 10-30 frames is sufficient).

N64, most Sega Saturn and PlayStation games are rendered triangle-based, not pixel-based, so there are some extra strategies that are useful in the encoding of movies made on these platforms:

  • Use the maximum anti-aliasing setting.
  • Use the maximum full-screen anti-aliasing 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 so that the image won't be unnecessarily blurred upon downscaling. For example, N64's native resolution is 320x240, so capture at 640x480, 960x720, or 1280x960, and so on.

See examples on the possible outcomes here.

See also: EmulatorResources/MakingAVI


[1] adelikat: This one is still a bit controversial since it lacks compatibility with some older players. In particular, it requires the newest version of VLC which is not compatible with older versions of the Mac OS.


RSS
EncoderGuidelines last edited by adelikat on 2010-03-14 18:59:23
Page info and history | Latest diff | List referrers