What codecs/formats are appropriate for full motion video recording for youtube? I'm recording video game footage via lossless methods, after which I need to compress them and upload them to youtube. I'm not sure which format and/or codecs are best for this. I've been experimenting with various formats and I've found MP4 (and whatever Camtasia 7 uses as a codec for that) to be mostly effective, but the quality varies by game.

Particularly I've noticed that lower-motion games like platforming games (Super Mario) or RPGs (Final Fantasy) seem to be fine no matter what format they're in; few "blocky" compression artifacts, almost no issues due to how often key-frames are used. But higher motion games, especially First Person Shooters (Halo) and scrolling shooters (Gradius) suffer relatively severe issues with "ghost" images between keyframes and generally blocky or choppy video.

Is there a generally acceptable video codec for high motion gameplay footage? I want to absolutely minimize compression artifacts like ghost images between keyframes, blocks of colors, etc. To maximize quality my recordings are at 30 FPS, 32 bit RGB at naitive resolution and file size isn't a major limiting factor (but I'd like to keep files under 1 GB due to low upload speeds). So assume the source file is basically pristine. How should I compress these high quality source files of full motion gameplay to be uploaded on youtube?

To reiterate the general requirements:


Lossless or high quality source file at 30 FPS, 32 bit RGB
Full motion recording, minimal compression artifacts wanted
Resolution only limited by the game's res; generally 480p, 720p or 1080p, occasionally weird resolutions when a game requires them (but if those come out less-awesome it's not a big deal, I accept that those are problematic).
Youtube will receive and process the final product, so their processing determines the final quality. I want something that Youtube will butcher the least (their videos do not always match my upload file's quality and I'm not sure why)


If it matters I'm using Camtasia Studio to edit/render the video before uploading, and I use a combination of Camtasia Studio and Fraps to record videos. I have the K-Lite Full codec pack on my PC, so Youtube is the major limiting factor for codecs. Fraps records lossless, and Camtasia can be lossless but I've been taking to DivX for encoding the initial recording in  Camtasia. My videos are at the whim of Youtube's re-encoding process for the final product as well, but I'm not sure exactly what they use for that.
Personally I always choose MP4 container and the H.264 codec as this is also the codec YouTube uses in the final video stream.

What key-frame rates and compression you need really depends on the footage and it's unfortunately close to impossible to give as a generic answer for this reason.

If you have a lot of movements you will need key-frames more often as well as lower compression. This will of course result in larger file sizes as a key-frame is basically a full frame image. There are only costly compromises for this.

How much you need to compress depends on the frame size, the bit-rate that will be used, f.ex. there is no point in compressing at a high bit-rate if YouTube then re-compress to match their max output bit-rate, which again means even worse quality due to re-compression.

If I should recommend a generic compromise it would be to reduce the frame size from 1920 x 1080 to 1280 x 720 instead. A viewer won't notice small details if there are a lot going on in the movie. It of course depends on which eyes one uses, the viewer's eye or the producer's eye. What I'm trying to say is that there is the factor of "psychology" you can use as well. 

You won't need 32 bits. 32-bit is just 24-bit RGB with 8-bits for an alpha channel. You should record and process in 24-bit in cases as this. This will save you some file size and processing time.

Camtasia uses it's own proprietary codec so you will always need to re-compress to another non-lossy or lossy format.

Basically it comes down to trial and error approach, and then experience from that, as each individual video may require a different approach. I saw a similar post here with a link to YouTube guide-lines. Check them out and use them as a basis for settings (especially bit-rate settings).

Also try not to think of the movie in terms of technical perfection but rather how a viewer will view it and for what reason (is the content interesting enough then quality matters less, think news-reports).