Thursday, March 14, 2013

Keeping A Record

You have memories, right? Sure, we all do. And we have ways to augment our brain's limited ability to remember in fine detail everything we've ever experienced. We write things down, we snap photographs, we record movies. These records do three rather important things:

  1. Help us to remember things more accurately and for a longer period of time. Putting forth the conscious effort to write things down or otherwise record them seems to flag the events or facts as "Important" to our brains, and they are retained longer and better.
  2. Remind us when we do forget. When details become fuzzy or lack of access makes a memory get unlinked completely, having a reminder can reconnect the memory in our minds, bringing back the memory and perhaps the feelings we have about it.
  3. Allows us to share. Your aunt Suzy wasn't at the beach with you that year for the 4th of July because she was at home with a severe case of dysentery, but that doesn't mean she had to miss out on the fun and drama of your cousin Sven sucker-punching a shark in the nose and rescuing little Maria, whom the tide pulled out a little too far while her whore of a mother was distracted hitting on some guy at the concession stand for two hours.
With the advent of the Internet, it is becoming increasingly easy to share data, videos, and imagery with people on the other end of the globe. In fact, too easy, as the constant stream of corporate and state security breaches remind us every couple of days. 

There are many things we want to record, and many reasons why we want to. But what am I struggling to record lately?

PC games.

Yep. Video games on my personal computer. I love my computer to death. It performs amazingly well at the things I use it for, and the only trouble is getting a record of the images it displays. Here, I lay out my struggles and leave an open ending about a new technique I hope to try soon.

Blast! I've spoiled the ending! Oh well, guess all I can do is proceed on as I had intended.

Why can't the computer just remember?

Probably the simplest way to record a computer screen is with screen recording software. Obvious, right? Well...

What I've had the most success with is AVS Screen Capture. It's part of a video editing suite I purchased some years ago and have had limited success with. I can't really recommend it for various reasons, but the screen capture software is quite decent. Simply, you select an area of the screen and hit the record button. When done, hit the stop button.

There are two major snags with AVS Video Capture. Firstly, the performance. A game that runs a super-smooth 59.97 frames per second (and much faster with V-Sync disabled) normally tends to run at just around 15 or 20 FPS, and the recorded video is actually closer to 8 FPS. The other major problem is that it doesn't seem to work well with fullscreen video. In Unreal Tournament 2004 and many other games, you MUST record the game running in a window or it will grab frames before they are done being rendered. Imagine driving a tank on a tropical island, and the various shrubbery, characters, items, vehicles, and even chunks of land are all constantly and rapidly blinking in and out of existence.

This means you have to get your games running in a window at 1280x720 and ignore the crap outside of the window. Trust me, it's hard to get immersed in a game running in a window, particularly when the best you can do is a tiny 640x480 window on a 1440x900 display.

Also a minor problem is the file sizes AVS spits out. They're ENORMOUS. I recorded about eight minutes of Duke Nukem 3D, and the file weighed in a whopping 9GB. And that was at 640x480, so just picture how massive any HD footage would get! Of course, these files can be compressed after the fact, using such utilities as the excellent Handbrake, but at some quality loss (though to drop the file down to 200MB, it was worth it).

"Why not use FRAPS?" queries one of my hypothetical hecklers. Actually a salient point, and while it probably performs better than AVS in terms of the performance hit I'd get while recording, it would still have a significant effect. Also, it costs money and I'm a cheapskate. I have tried the demo version and I found its options to be quite lacking, and its recording quality to be a bit lower than I wanted.

I have an HD-PVR that I use to record component video sources, and an easyCAP for recording composite and S-Video sources. These both work very well. Now if only I could...

Record from VGA?

Ah, wouldn't that be the Holy Grail! If only the devices for doing so cost less than $2,500. That's a little bit out of my price range.

If only I could just...

Use the HD-PVR?

Now THERE's an idea! Run the video feed through the HD-PVR and record it using that! All of the video transcoding happens inside the HD-PVR itself, so there'd be very little processing power required by the computer. Hell, I could probably record right onto the computer I was recording from! Plus, I have all the equipment I need!

Well, save one piece.

The HD-PVR takes component video, and that's not what my video card puts out. So now not only do I have to figure out how to get one of the video output options I have into the video input that I need, but I also have to explain what the hell the problem is.

Crash course in TV video connections

TV video connections are as such, generally from worst quality to best:

RF Coaxial: This was common in the 80's and carried on into 90's, particularly with video game consoles and cable TV connections. Before HDTVs became popular, this was fine, but sending the audio and video over the same line lead to a lot of noise, be it picture grain or literal noise on the speakers. The two signals, usually combined inside of a cheap, barely shielded box, would bleed into one another and cause such artifacts.

Composite ( AKA, RCA): How do you keep signals from interfering with each other? Separate them into separate cables! Thus, we ended up with a cable for video, usually with a yellow plug, and two audio channels with their own cables, white and red. These are still pretty common and work decently well. Audio artifacts are almost completely eliminated, but the video isn't particularly crisp.

S-Video: In order to get a better picture, the video signal is split up into two parts, luma (the brightness) and chroma (the colors). The audio cables are the same, but instead of the big yellow plug we're all used to, it looks more like the old-style keyboard or mouse plugs. If you look inside, you'll see four wires: luma, chroma, and a ground for each. Some s-video cables have more pins, but these aren't standard from what I have been able to find out. Many game systems support s-video, but I don't have any TVs that do. The signal is noticeably clearer in side-by-side comparisons (and you can check YouTube if you don't believe me) but not so amazing that the layman will probably be able to tell without direct comparison. S-video can only do 480i.

Component: This style splits things up even further. The luma channel is still used, but croma is split into two, giving more precise control and detail. With the three plugs for video and then two for audio, component uses a whopping five pins. The tradeoff for this inconvenience is that it supports resolutions up to 1080p or 1080i, depending on the source. The HD-PVR I use records component video, and can take up to 1080i. It looks damn good, but there is one step higher.

HDMI: This is a newer video standard that is completely different from the rest in every respect. First, it is pure digital. It's a stream of 0s and 1s that defines the picture and sound on the screen in a single cable from source to display. Second, it is heavily copy protected. Theoretically, I could use component cables with my HD-PVR to record Netflix movies streaming on my PS3 at 1080i and then burn copies of them and sell them on my front lawn, committing grievous violations of copyright law in the process. I could go on for hours about how tired I am of Hollywood and how pants-pissingly scared they are of the supposed millions of dollars they lose to piracy every year and the ass-backwards means they take to prevent it, but I'll save that for another time. Suffice to say that HDMI provides perfect audio and video from source to screen, but cannot be practically recorded in full quality. It is totally impractical and a complete waste of time to discuss. Why the hell am I still talking about it?

Computer Video Types

Computers use a completely different set of video standards.

VGA: Video Graphics Array is oldest one still in use, and fairly wide use I must say. I'm using it right now as I write this! Usually a blue plug with 15 pins, it is simple to use. It is pure analog, so it is prone to some interference.

DVI: This video standard is... actually a mess of several different video standards. It has a bunch of pins arranged in a wide grid, plus one wide flat pin. Digital Video Interface is a little bit of a misnomer when you consider DVI-I, and intermediate style of connector. It supports analog video as well as digital, so an adapter to VGA is simple and cheap to make, allowing older screens to be used while allowing for newer displays as well. DVI-I has four pins around the big flat prong, making it easy to identify. DVI-D on the other hand is all digital, and has no pins around the flat prong. Adapters to VGA are impractical and expensive, but they do exist. Since the signal is digital, it has to be converted to an analog signal; there's no way to simply reconnect the pins to match VGA, there is a full video conversion that has to be done. If your DVI port has a full set of pins all the way throughout instead of two groups of pins with and empty space between, you have yourself a Dual-Link DVI port! It can be used to connect two monitors (using an adapter, of course).

HDMI: Because the HDMI standard is so prevalent these days, many PC graphics cards have included them as well. While it offers the same digital picture as DVI-D, it also carries sound, whereas VGA and DVI do not.

Can We Get To The Damn Point Already?

Fine, fine...

Interestingly enough, I actually have had some success connecting older PCs to my easyCAP using s-video. The picture is okay, but not stellar.

What I really need to do is get an adapter from DVI-I to component. Seriously, I've been looking for solutions to this problem for a couple of years now and I just now discovered such an adapter exists. For the love of... and they aren't even that expensive!!

The only issue is that my new graphics card, a Gigabyte Radeon HD 7750, doesn't have the Dual-Link DVI-I connector that I need. At the time, HDMI/VGA/DVI-D sounded like a perfect combination. Damn it.

My old Sapphire Radeon HD 3850 has two Dual-Link DVI-I ports, so I guess I could use that to test it out, and if it works I'll shop for a newer card with the connector that I need.

And what am I doing all this for? So people can see how bad I suck in Wing Commander? Oh well, best not to think about it, plunge in headfirst.