Screenshots
Screenshots are arguably second only to
encodes in importance for a site publication - they are generally the first thing a viewer sees of a particular publication, well before watching it. As such, assigning quality screenshots to our publications is essential.
This page explains how to:
- Take screenshots from site-accepted emulators;
- Convert them to the PNG file format, normally used for our screenshots; and
- Make the resulting file as small as possible.
Table of contents [
expand all] [
collapse all]
Snapshots when using Windows
TODO: For each emulator specify what on screen items need to be taken off before taking the shot (frame counter, lag counter, messages, etc)
Note: This information applies only to latest version of each emulator. Make sure you acquire the
latest version.
- PNG format
- Default hotkey: F12
- Default directory .\snaps
- PNG format
- Default hotkey: F12
- Default directory: same directory as the ROM
There is a frame delay when pressing F12 and when Snes9x actually takes the screenshot. So if you want a screenshot on frame N, it must be paused displaying frame N-1 and polling for frame N. Then press F12, then frame advance, to capture the screenshot.
- JPG format
- Default hotkey: F12
- Default directory: .\ScreenShots
- PNG format
- Default hotkey: F12
- Default directory: same directory as the ROM
- PNG format
- Default hotkey: F12
- Default directory: none, you will have to specify when making the screenshot.
- PNG format
- Default hotkey: SHIFT + Backspace
- Default directory: Same as the .exe
- PNG format
- Default hotkey: F12
- Default directory: .\screenshots
- PNG format
- Default hotkey: F12
- Default directory: .\snaps
- PNG format
- Default hotkey: F12
- Default directory: same location as the .exe
- PNG format
- Default hotkey: F12
- Default directory: .\snap
- PNG format
- Default hotkey: F12
- Default directory: .\shots
- On-screen items to take off: uncheck menu items Graphics->Show Button States and Graphics->Show Movie Frame Counter
- PNG format
- Default hotkey: p
- Default directory: .
Snapshots when using Linux
In Linux, when you install Imagemagick, you can use
import to
take screenshots of any window. Example:
import tmp.png
Then click the window to take screenshot from, and it beeps twice
when the file is ready.
You can also select a region from screen by pressing the button
somewhere and dragging the cursor to mark the corners of the region.
If you use KDE, there is a program which comes with most KDE installs called KSnapshot. It can take images from any window or area, take images on a timer, and remove window decorations automatically. Simply open it, and have it take a snapshot of the active window with the remove decorations box checked.
The Gimp can also take screenshots (File -> Create -> Screenshot). Select "take screenshot of a single window" and uncheck "include window decoration".
If your snapshots contains menubars and other irrelevant things,
use an image manipulation program such as
The GIMP
to remove them.
Note that the programs mentioned in this chapter can be used in Windows too.
Snapshots from dumped AVI
This is a more unusual version of obtaining a screenshot and depends on the video codec you used to obtain your video dump; however, done right it is the easiest method of doing so, especially in cases where you are preparing to, or have, encoded the video.
It is suggested that you dump the AVI to a lossless RGB based codec (Windows users can use the
CamStudio or
Lagarith codecs, frequently used by our encoders; FFV1 can also be used if set to the BGR32 colorspace) and open the file in any player that can show the video in its original native resolution (for Windows users, VirtualDub is suggested). Find a frame that is publishable quality, screencap the screen (or the frame if the player supports it), crop the result properly and save it as a PNG in your favorite image editor.
Convert to PNG
BMP files should be converted into PNG format. You can use
bmp2png downloadable at:
http://hp.vector.co.jp/authors/VA010446/b2p-home/index.html, or you can use an image manipulation program such as
The GIMP.
If you are going to optimise your screenshot, however, leave it as a BMP; PNGOUT is perfectly capable of reading BMP files (see below).
Resolution
The screenshots must be of certain resolution (depending on the system).
Admin-level users have an option to override these resolution limits (for games that have odd resolutions, for multi-runs, etc...)
System | Resolution | Alternative |
NES/FDS/SNES/SGB | 256*224 | 256*240 |
N64 | 320*240 | 320*224 |
GC/Wii | 320*240 | 384x216 |
VBoy | 384*224 | - |
GB/GBC | 160*144 | - |
GBA | 240*160 | - |
DS | 256*384 | 256*192 |
SMS | 256*192 | 256*224 |
Genesis/SegaCD/32X | 320*224 | 320*240 |
Saturn | 320*240 | - |
GG | 160*144 | - |
PSX | 320*240 | 320*224 |
PCE/PCECD/PCFX | 256*224 | 256*240 |
Lynx/WSWAN/NGP | 256*224 | 256*240 |
Arcade | 384*224 | - |
DOS | 320*200 | 320*240 |
MSX/Windows | 320*240 | - |
Minimizing the file size
Presently, there is a limit of 45k for screenshot files - this is primarily because there are some movie list pages which display large numbers of screenshots, and those can take a long time and a large amount of bandwidth to display as it is.
We generally prefer lossless screenshots, and the below techniques are usually sufficient to achieve file sizes well within the target range. For some systems (particularly 3D systems such as N64 and PSX) the images may be more complex than this; in those cases, we accept a certain degree of lossiness in screenshots. Historically, this has been in the form of JPEG screenshots saved with no subsampling and as high a quality setting as can be used while staying within that limit; more recently there has been an effort to use tools such as
Animmerger to reduce the colour palette of the image while still preserving the benefits of PNG as an image format. It is recommended that you contact a publisher before resorting to these means.
General
We use
OptiPNG (to ensure the minimum amount of colours are stored in the PNG's palette) followed by
PNGOUT to compress our PNG files.
This algorithm outperforms programs such as
AdvPNG in almost all cases.
To get optimal compression, use several random trials (-r) and choose whichever result yields the smallest compression; the scripts and utilities below employ this approach. Alternatively, you can try using the first 15 powers of 2 in the block split threshold (-b) option for your trials; however in practice this has yielded worse results.
DeflOpt (
Linux/i386 version) can be used optionally at the end to reduce the file just those few bytes more (it almost always does).
Windows
Download the
ScreenshotCompressor from our
TASTools project page, in addition to OptiPNG, PNGOUT and DeflOpt. Run your image through OptiPNG first, then follow the instructions packaged with the tool (it is as simple as drag and drop). This will use a configurable number of random trials in the spirit of the script in the Linux section below.
Optional reading:
There exists a
tutorial about PNGOUT
for Windows users.
Linux
Assuming you have
optipng,
pngout, and
deflopt in your $PATH, you can run this shell script to compress pngs under Linux. Utilizes several random trials to get the best possible compression, more trials = more compression, works best on
uncompressed source bmps or png.):
Run as:
./nameofscript.sh screenshot.png 100
where:
- "screenshot.png" is the name of the screenshot you want to compress, and
- "100" is the number of random trials you want to test.
#!/bin/bash
name=${1%.*}
cp $name.png $name-best.png
optipng $name-best.png
for ((i=1; i<=$2; i++))
do
pngout -r -y $name.png $name-trial.png
DeflOpt $name-trial.png
du --bytes $name-best.png $name-trial.png | sort -n | awk 'BEGIN {ORS=" "} {print $2}' | xargs cp
done
Note that PNGOUT can read BMP files directly. You don't need to convert them first. Also note that in some cases PNGOUT produces PNG files that don't work on all platforms (due to broken zlib implementations on those platforms); this is rare in practice.
JPG
3D and other modern games usually have too complicated picture to fit into the 45kB limit allocated for a publication screenshot. This forces us to use JPG format instead of PNG, but still do some work to minimize the color loss.
Load up the image in GIMP, export it to JPEG. Then set preview to on, chroma to 4:4:4 and DCT to floating-point and adjust the quality (usually to the maximum that gives under 45kB).

Screenshots last edited by
adelikat on 2017-05-11 19:37:00
Page info and history | Latest diff | List referrers | View Source