Friday 11 July 2014

Capturing and encoding video for SDA - Progressive

Introduction

If you found interlaced capture a pain to deal with, you might want to look at progressive video. With progressive video you don't need to deinterlace and you can also look into capturing HD content. Progressive output also gives us access to the highest quality connections available, Component and HDMI.

If your console has both Component and HDMI output, it is advised to go with HDMI since it is a digital signal. Although Component is very high quality, it is still an analog signal.

You may be wondering what consoles actually output progressive video. The answer is well... pretty much all of them (yes even retro consoles). That's a whole other blog post though. For now I will focus on the current gen (PS4 etc) and last gen consoles as these are far easier to explain and capture from.

What capture card should I buy? What will this guide cover?

This is a tough one to answer when we are talking about progressive video. Since we don't have to deinterlace video, any capture card with Component or HDMI input will work well. Even the hardware encoders that capture video as YV12 are perfectly fine (Elgato, AVermedia LGP). However, I will only focus on DirectShow cards for this guide as the hardware encoders are usually only accessible with certain software. DirectShow cards with progressive inputs are almost always internal. Some examples are the Blackmagic Intensity Pro, AVerMedia C027 and the PEXHDCAP.

Like the interlaced guide, this will cover everything from software installation to final encoding. The only real progressive resolutions you will encounter is 480p and 720p. I will cover configurations of both. 480p is pretty much the Wii and 720p is for the PS3/360 and PS4/Xbox One.

Software and codec installation

Just in case you need links, below is what will be used.

Encoding program: Yua
Codec: x264vfw
Capture: AmaRecTV

If you read my interlaced guide, you will notice I have changed the codec from Lagarith. It's unlikely that people are willing to use Lagarith to capture runs in 720p. The data rate and storage requirements can also be huge (especially in a long run). x264vfw has far superior compression and less CPU load when dealing with higher resolutions.

You are more than welcome to use Lagarith to capture your runs (just make sure your computer can handle it).

AmaRecTV Configuration

To get to the configuration area, you can press c on your keyboard or right click > Config. Look at each setting and configure as shown. You can click each screenshot for a larger look.

The general tab is first. Nothing special. You can configure the path of where the captured file will be stored and the file name. You can also have the folder open once a recording stops to quickly check it. Configure other options at your discretion (basically do what you want this this tab).


Graph 1 (Device) is where you will configure the device and resolution. Select your capture card and the corresponding audio device. I've shown the AVerMedia C027 configuration as an example.


For 480p you want to select "w= 720, h= 480, fps=59.94,  fcc=YUY2, bit=16"

For 720p, select "w=1280, h= 720, fps=59.94,  fcc=YUY2, bit=16"

Please note that the fcc may change depending on what capture card you have. For example, if you have a Blackmagic card it will read UYVY for 480p and HDYC for 720p.

Graph 2(Preview) requires no real configuration. Just ensure deinterlacing is set to "Not use".


You can pretty much skip all the way to the Recording tab now. Set Video File Setting to 999 fps (just do it). AmaRec will record at the frame rate you set in the Device tab. Make sure Audio Compressor is set to "Uncompress". For Video Decompressor, click the Other Codec radio button and then the Update Codec List button. Scroll down till you see x264vfw (see below screenshot) and then click the Setting button.



Configure x264vfw as shown below then click OK.


I've went with CRF 14 as a great starting point (you can lower it to something like 12 if you want better quality). Bear in mind though that CRF 16 is pretty much lossless quality to the human eye. If you really want lossless, you can configure it in the drop down box under Rate control (the lossless setting is still better than Lagarith). Bear in mind that this configuration favors compression over editing capability. I'd do some test captures and see if you can live with the slow frame seeking. If it's a problem you can add --keyint 10 to the "Extra command line" box. This will improve frame seeking but at the cost of some compression.

That's pretty much it. Now just click Apply and if everything went good, your console should show up in the preview window. To record just hit the Play button near the top left and stop the recording with the same button (both indicated by sound and the bottom left corner of the program). I should also mention you can configure these under the Hotkeys tab (default is Ctrl+Z). You can also mute the playback of sound by clicking the music note (don't worry the captured file will still have audio).

Once you do a recording, import it into Yua for encoding.

Yua encoding

I'll explain the settings briefly.

Input type: Progressive. ;)

Aspect ratio: If you were working with a 480p source, this can either be Standard (4:3) or Widescreen (16:9). Some Wii games will utilize 16:9 but if it's a Virtual Console game it's going to be 4:3. 720p is always going to be 16:9.

Dimensions: Pretty much always D1. In some cases like the Virtual Console, you can elect to encode at D4 to keep file sizes lower.

Framerate and Decimation: If you are unsure what to pick, post a quick sample in this thread.

Output: Tick all required for submission. You can also elect to encode XQ but very few sources will need it.

The Change button will encode to a folder of your choosing (I have Desktop selected) and the box is to label the file name.

Once this is done you can edit the video to include only parts you want. You can do this by going to Trim. Once this is all done, just click File > Encode and go grab your favourite beverage.

It is definitely worth doing a test recording and creating sample encodes (like 30 seconds in length) to post on the forum as a quality test before you do the real run. Better to be safe than sorry.

No comments:

Post a Comment