Showing posts with label component. Show all posts
Showing posts with label component. Show all posts

Friday, 12 December 2014

Elgato - Component capture issues on v2.0

Around the time the HD60 came out, Elgato unveiled new updated software (v2.0). At the time I didn't think much of it and updated. I'd only really been using HDMI so I never saw an issue until now. Today I had a need to capture some Wii Component video for a friend. Once the main menu came up I instantly said to myself "this looks wrong".

I decided to capture 2 games to compare (Donkey Kong Country and Clock Tower). I then downgraded to version 1.42.24 which I know to be correct and recaptured the same scenes. Here are the results.

Clock Tower:

v1.42.24
v2.0
Overlay comparison is here: Click

Donkey Kong Country:

v1.42.24
v2.0
Overlay comparison is here: Click

Second comparison:

v1.42.24
v2.0
Overlay comparison is here: Click

As you can see, the newer version is a mess. I thought I would clarify that I was using the latest 2.01.56 software when I say "v2.0". Luckily you can still download v1.42.24 on the Elgato website but if for some reason they ever remove it, I have mirrored the download on my Google Drive which you can download here.

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.

Friday, 20 June 2014

Elgato Game Capture HD Review


Elgato Game Capture HD Review
Elgato Game Capture HD - Image courtesy of Amazon.com

A big thank you to Elgato for supplying me with a review unit.

I've always used DirectShow capture cards, so I was really not sure what to expect from this device. First, let's talk about the contents:

1. The unit itself
2. USB cable
3. PS3 Component cable
4. Component breakout cable (the same one that is bundled with the StarTech PEXHDCAP if you are wondering)
5. HDMI cable

The PS3 Component cable is a nice addition. This stops you having to buy official Sony cables. The breakout cable will allow you to connect any Component system to the Elgato. You can also attach Composite to the red connector but I'd highly recommend moving to S-Video for retro systems. In order to capture from S-Video, you will need to purchase the Analog Video Adapter from the Elgato Store.

One of the best features of this card is the lag less pass through when using Component to HDMI. I am able to input my Wii at 480p Component and output 480p over HDMI without lag. This stops the need of having to buy Component to HDMI converters or messing around with those Wii2HDMI adapters. You can also power the Elgato from any USB port (on a TV for example) so it's also a great option if you just want a Component to HDMI converter. If I did have to make one criticism of this, it would be the lack of a dedicated Component adapter for the Wii like the PS3 has. This is probably superfluous to requirements due to the Wii U but users who don't want to spend money on buying a new console might feel a tad annoyed.

I downloaded the latest drivers from Elgato's website (as of writing 1.42.23) and connected the unit to a USB port. That was pretty much all the setup process entailed. I was really skeptical about how well a YV12 4:2:0 encoder would match up to what I had been using. My previous capture setup involved 4:2:2 Lossless capture via Lagarith or UT Video.

While configuring the device for 720p capture, I noticed something interesting. If you have the "Preserve Source Format" option ticked, you can happily record a maximum 26.3 Mbps at 59.94 fps. However, untick this option and you are left with a maximum 15.0 Mbps at 29.97 fps. I am all for being able to record at 29.97 (let's face it most of the games on PS3 and 360 are all 29.97 anyway). I don't see the reason for substantially lowering the bit rate though. They should keep the 26.3 Mbps option for 29.97 fps content. Let me explain why this would be a good idea.

Here is a raw BMP file with 59.94 fps: Click
Here is one with 29.97 fps: Click

As you can see the 59.94 capture is clearly better. The 29.97 is much more "blocky" (especially the bottom left side of the tree leaves). If they allowed you to allocate 26.3 Mbps for 29.97 content, it would look even better than the 59.94 video since the bit rate isn't being allocated over as many frames.

The 1080p capture option is very nice. A 1080p 59.94 source is recorded at 29.97 with 30.0 Mbps. I forgot how great 1080p video looks on my TV as it's always been at 720p. Since the Elgato can be pushed to 30.0 Mbps, the user should be able to select the maximum 30.0 Mbps for at least 720p. Even 480p is limited to 15.0 Mbps. I would like to see that lifted to 20.0 Mbps so a consistently high quality file can be captured even in very high motion game play. Regardless of capture bit rates, it is nice to see that the Elgato correctly captures HD colours (Rec. 709). The device also properly handles 16-235 and 0-255 video which very few DirectShow capture cards actually do.

In comparing the capture quality to something like the Blackmagic Intensity Pro (HDYC UT Video Lossless), you can see some very slight degradation in quality with the Elgato but it's hardly anything to complain about (since the bit rates are substantially less).

Blackmagic BMP: Click
Elgato 26.3 Mbps BMP: Click

I am more than happy with the capture quality of the encoder but as said above, I'd like to see the bit rates slightly increased.

Now let's talk about interlaced content. I connected up my SNES and was told that the capture would be 720x480i at 59.94. This is completely wrong. It should be 720x480i at 29.97 (weaved capture). If you untick the "Preserve Source Format" option, the software will capture a deinterlaced 640x480 image at 29.97. This is also wrong as then you would be losing half the frames (old systems are actually 60 fps). I can see why they probably did this though. Most people won't care as it's only if you would be submitting a run to SDA would you ever need the full 60 fps. If you want to use this device with interlaced content/retro games for SDA, you should look elsewhere. Don't get me wrong, it still works with 240p material, just other devices handle it better.

If the above issue does get fixed, there is also another problem with Composite and S-Video in the black levels. The capture filter for the Elgato looks to only support the basic "NTSC_M" (USA at 7.5 IRE). This is a problem because many retro consoles such as the US SNES are just basically Super Famicom (NTSC-J) consoles. This is why you can play Super Famicom games in a US SNES. Since these are NTSC-J consoles, they also output the black level at NTSC-J standard (0 IRE). This could be fixed by giving an option to choose between 0 and 7.5 IRE when the user selects Composite or S-Video (put it in place where the user selects between Standard and Expanded for HDMI).

The last thing to talk about is live streaming. Since the Elgato has native XSplit and OBS support. it's easy to set up and get going. Due to the preview delay, I had to delay the microphone to match the game. I got it to sync up with my microphone at a setting of 1400ms. This seems like the standard to use from videos and tutorials I watched.

Everything works well with the live streaming. However, speedrunners have extra issues to contend with. Ideally we want to capture a high quality local recording and live stream at the same time. There is currently no way to do this with the Elgato. The only workaround would be to local record in the Elgato software and then screen capture the preview window inside XSplit or OBS. That's not exactly a good solution, especially if screen real estate is a problem. I would really like a way for the Elgato to work similarly to AmaRec's Live feature where you take a DirectShow source that can then be added to as many applications as you want while still being able to record in the software itself.

Showing timers/splits on stream is also another problem. Not only will you have to sync up a microphone, but you also have to delay the timer in WSplit (or similar program). If you are curious how to do this then right click and go to Configure in WSplit. For start delay input something along the lines of 1.4 (aka 1400ms to make it the same as the microphone delay). A big thanks to SDA user Vid3odrome for the solution to timing splits and the Elgato together.

There is also a slight issue with editing the files. The .ts files can be imported into programs such as Sony Vegas but they have no sound. The included MP4 converter fixes this and won't touch the quality. However, I noticed a peculiar issue with the frame rate detection in Sony Vegas. It is detected as 59.908 fps (this should be 59.940). This isn't a big problem but I would definitely like Elgato to check this one out in case video/audio sync becomes a problem for very long recordings. I also tried other Elgato MP4 recordings and they also seem to slightly deviate from the standard 59.94 detection in Sony Vegas. I should also note that if you are using SDA's encoding program (Yua) then you only want to feed it the MP4 files as even the frame rate of the progressive .ts files are not being properly encoded.

I also discovered what I can only assume is a bug. The HDMI pass through can be toggled between Standard (16-235) and Full (0-255) in the Elgato software. However, it always defaults to Full on power up. This can be fixed by opening the software but the problem is if you close the software, the pass through goes back to 0-255. The only way to keep the pass through in 16-235 mode is to keep the software open. I hope Elgato can fix this to where the software "remembers" the 16-235 choice on exit or even when it is powered up.

That's pretty much everything I have to say on this capture card. Even with the issues I mentioned, it's a really stunning unit. Highly recommended if you want to use progressive content and hopefully the points I raised can be fixed in a future software update.

Friday, 7 February 2014

Neoya Wii2HDMI Review - Component vs HDMI

With the release of the Wii U, devices such as Neoya's Wii2HDMI see little use.

neoya wii2hdmi adapter dongle

However, this device still serves two key uses:

1. The Wii U dropped Gamecube support so this is still a down and dirty way to play your Gamecube games over HDMI.
2. Like me you probably have no need for a Wii U yet. Having the ability to hook all your current gen consoles over HDMI is a big plus.

There are many different versions of the Wii2HDMI adapter. The Neoya one stands as the best since it doesn't upscale to 720p/1080p like the others and any input lag created from the analog to digital conversion seems non existent.

I want to spend the rest of this review comparing the device to official Nintendo component video output. I'll be using the Micomsoft SC-512 for the best component and HDMI capture quality.

First up we have Super Metroid:

component vs hdmi comparison wii capture metroid
Component (Left) vs HDMI (Right) - Click to enlarge
Here's an overlay comparison.

Next we have Zelda: OoT:

component vs hdmi comparison wii capture zelda
Component (Left) vs HDMI (Right) - Click to enlarge
Here's an overlay comparison.

One more OoT for good measure:

component vs hdmi comparison wii capture zelda
Component (Left) vs HDMI (Right) - Click to enlarge
Here's an overlay comparison.

To round it off, Final Fantasy III:

component vs hdmi comparison wii capture final fantasy
Component (Left) vs HDMI (Right) - Click to enlarge
Here's an overlay comparison.

One more should be enough:

component vs hdmi comparison wii capture final fantasy
Component (Left) vs HDMI (Right) - Click to enlarge
Here's an overlay comparison.

It's clear to see that the HDMI output is moved up 1 or 2 pixels and shifted to the left by about 3 or 4 pixels. The HDMI output is also much brighter. For most people this won't be an issue and even if it bothers you it can be fixed in post processing.

Overall I give this a thumbs up. If you just want to HDMI your Wii, this is an easy purchase as you don't have to worry about external power. However, I would consider you look into the Lenkeng LKV5000 and similar as these are multi purpose converters that can work for different consoles.