Language…
19 users online: crocodileman94, DanMario24YT,  Eevee, eltiolavara9, GRIMMKIN, Housemeister, Irondill, Knight of Time, koffe190, Maw, MegaSonic1999, MeteorSmasher4, Mike777, nonamelol1, OnlySpaghettiCode, Pizzagamer9791, ShoopDaWhoop, StarWolf3000, Ztarhaven - Guests: 286 - Bots: 289
Users: 64,795 (2,375 active)
Latest user: mathew

High Quality Video Recording

As you are probably already aware, you can record video with Snes9x. However, if you have tried this, you probably know that the video that is recorded is very small. When you upload this to YouTube, it looks very bad.

In this tutorial, I will show you how to up the quality of Snes9x's recording so that it will look great on YouTube.

Requirements:

Lots of hard disk space (at least 50+ GB is reccomended, unless you're fine with compressing AVI. Assuming you scale an uncompressed Snes9x recording by 4x, then an 11-second video will be 2 GB.)
E: Let me get something straight here. The 50+ GB is only is for a scaled, uncompressed video; not the 256x224 video recorded by Snes9x. If you specify compression in VirtualDub, the file size will rarely be over 500 MB, assuming you use a good compression codec. If you aren't going to be saving an uncompressed HD video, then I would say you need 5+ GB (5 GB will store ~7-8 minutes of uncompressed 256x224 video, if my calculations are correct. You'll also need ~500 megabytes, give or take, to store an HD, compressed, video.)

Lots of patience - filters can take quite a while to run.
A powerful CPU will make filters run faster; its only a reccomendation.
Know how to export a video from Snes9x.

The following software:

Snes9x and a ROM. As for the ROM, Google is your friend.
VirtualDub
hqx Plugin for VirtualDub (Place this in VirtualDub\plugins)
Freemake Vidoe Converter (Optional, but you can convert to formats other than AVI; also has a YouTube uploader)

e: The Lagarith codec is lossless. If you want to convert to a format other than AVI, save the AVI with Lagarith compression.
You may also want to check out MSU and FFV1 (I believe it comes with ffdshow), which are also lossless compression formats.

Step 1:
Record the video. This is quite simple; in Snes9x, click File > Start AVI Recording... to start recording, and File > Stop AVI Recording to finish.

EDIT: Some screenshots


Protip: Don't use lossy video compression; the frames need to be high quality for the hqx filter to work right.


Step 2:
Open up VirtualDub. Open the first AVI file; if it was broken into segments (e.g. filename_part2, filename_part3), then click File > Append Segment, and open the next part. Do this for each segment; make sure you append the segments in order.

Once you have all the segments in order, click Video > Filters...
A filter dialog will open. Click Add Filter.

EDIT 2: More screenies


In the list (you need to have placed the hqx plugin in the Plugins directory), select either hq2x, hq3x, or hq4x and click OK.


If you want compression enabled, click Video > Compression... and select the compression of your choice.
Note that re-compression will cause video quality loss, so if you want to use a format other than AVI, then do not use compression here (unless hard disk space is a concern).
In most cases, using a compressed AVI file is fine, since video hosting sites like YouTube usually accept AVI files.

The blue frame represents the codecs, and the red frame is where the restrictions on the codec will appear. It is important that you make sure your video is compatible with the codec.

Click File > Save AVI... or File > Save Segmented AVI...


Note that saving as AVI uses AVI 2.0, and may not work in some programs, as file sizes may be larger than 2GB.
This is where you'll need large amounts of hard disk space.
Use Save Old Format AVI if you use compression, since the file size should be under 4 GB.

The saving will take some time; it will take even longer if you use compression. However, if the file is compressed, you don't need a secondary program to encode the video in a different format.

Step 3:
You can ignore this step if you don't want to convert the AVI to a different container format. However, it is mandatory if your AVI is uncompressed, since the file size will be insanely huge.

Open up Freemake Video converter.

Click +Video and select the AVI you exported.

EDIT 3: Final screenies


If you used segmented video, select the last segment, and Shift+Click the first segment, and click OK; then turn on Join Files, make sure there is no transitions, and that the segments are in the correct order.

Select one of the formats on the bottom.


When the dialog with output parameters appears, click Edit Preset, make sure the video size is Original, and the framerate is 60 fps for best quality. I would suggest leaving the other settings alone unless you know what you're doing. Click OK.


There is one-pass encoding and two-pass encoding, although I'm not sure what the differences are, except two-pass encoding takes longer.
You can also increase/decrease the maximum file size to control the quality of the video.


Then click Convert, and then all you need to do is to wait for the video to convert, which will take some time.

After it's done, you can watch the video, or upload it to a video hosting site. You should also delete the large, uncompressed video, as it cannot be played in real-time anyway due to the insanely high bitrate.
GradientToolLevelMusic UtilitySM64 Clean ROM verifierHQX VirtualDub FilterImoSPC2 (Alpha)Music Section SPC PlayerEmbeddable SPC Player for SMWCYouTube EmbedderJSRomcleanJS Address ConverterLazyHDMA
This is a pretty poor way of doing this. It makes me want to make a tutorial that demonstrates a much more efficient way encoding movies in HD. 50 GB for even a three hour long movie is insanely huge by any stretch of the imagination.
Originally posted by TMI
This is a pretty poor way of doing this. It makes me want to make a tutorial that demonstrates a much more efficient way encoding movies in HD. 50 GB for even a three hour long movie is insanely huge by any stretch of the imagination.


The 50+ GB is for if you save the filtered video with no compression.
The only reason for doing this would be if you want to use a format other than AVI.
The primary reason for not compressing an AVI would be if, for some reason, you want the video in a format other than AVI with no quality loss.

Also, there is no need to keep the 50+ GB file once it is converted to a compressed format.
You can't play a file that size in Windows Media Player, because the video skips like crazy. It needs to load 60 frames, each 1024x896 = ~2 MB, off of the hard disk. (Even an uncompressed 256x224 video skips somewhat in Windows Media Player.)
GradientToolLevelMusic UtilitySM64 Clean ROM verifierHQX VirtualDub FilterImoSPC2 (Alpha)Music Section SPC PlayerEmbeddable SPC Player for SMWCYouTube EmbedderJSRomcleanJS Address ConverterLazyHDMA
50 GB?! That's way too much...I honestly don't want to be using 50 GB's just for a video of a hacked ROM (if I even had 50GBs). I'll just stick with Camtasia.
But very nice tutorial.
Originally posted by ShadowFan-X
The primary reason for not compressing an AVI would be if, for some reason, you want the video in a format other than AVI with no quality loss.


I encode in MKV format and don't lose one little bit of quality while doing so. The time it takes to compress a 50 GB file would be atrocious if you don't have the best computer out there.
Added a few pics demonstrating how to use compression in VirtualDub. This will greatly decrease the size of the rendered AVI file.

Currently, I have 192 unused GB on my hard disk, so I guess I kind of rushed past that feature without demonstrating it as much as the other features.

e: ninja'd. Unfortunately VirtualDub works on AVI files, not MKV files.
GradientToolLevelMusic UtilitySM64 Clean ROM verifierHQX VirtualDub FilterImoSPC2 (Alpha)Music Section SPC PlayerEmbeddable SPC Player for SMWCYouTube EmbedderJSRomcleanJS Address ConverterLazyHDMA
Originally posted by TMI
Suggest a codec or something. I like Lagarith lossless, myself.

It depends on what compression/decompression codecs are installed, compatible with AVI, and support the video format. I'm currently comparing the difference between the different codecs that appear on that list to see which one has the best quality and a reasonable output file size, but I can't guarantee that everyone will have those same codecs on their computer.

e: I tried Lagarith, the result was around 1.71GB for 3 minutes and 21 seconds for an hq4x-stretched video. Sure beats 2GB for 11 seconds of video.
Lagarith is a bit slow, so it should be used as an intermediate format.
GradientToolLevelMusic UtilitySM64 Clean ROM verifierHQX VirtualDub FilterImoSPC2 (Alpha)Music Section SPC PlayerEmbeddable SPC Player for SMWCYouTube EmbedderJSRomcleanJS Address ConverterLazyHDMA
Hi ShadowFan-x,


Can you provide a new "Hqx filters" download link?

Thanks,



Cauptain
Originally posted by Cauptain
Can you provide a new "Hqx filters" download link?

Fixed. Thank you for pointing this out.
GradientToolLevelMusic UtilitySM64 Clean ROM verifierHQX VirtualDub FilterImoSPC2 (Alpha)Music Section SPC PlayerEmbeddable SPC Player for SMWCYouTube EmbedderJSRomcleanJS Address ConverterLazyHDMA
ShadowFan-X

Thank you very very very much.

Its a excellent plugin for create HQ videos from any emulators.

Thank you again



Claudio