[Guide] Deinterlacing for console games

paibox

heros in an halfshel
So you're holding off on using OBS for streaming your console games because there is no deinterlacing feature for the video capture device source yet? Hold off no more, read this guide and start streaming like a happyman from the future today!

Please note that this only works with the 32-bit version of OBS for now.

First of all, you need to grab an external capture application known as AmarecTV.
Grab the latest version (during the time of writing this, 2.31) from here: http://www.amarectv.com/english/amarectv_e.htm Instructions on how to do this are sort of available on that page, so if you feel like figuring it out based on the info on that page, you are of course free to do so.
While I can't guarantee that your capture device of choice will work properly with AmarecTV, it does support a wide range of capture cards as long as their drivers have a DirectShow interface available.

Once you have unpacked AmarecTV, run the included file live_setup231a_en.exe to install the DirectShow passthrough that will patch through your video capture to OBS. You may have to restart your computer after installing it, depending on your system settings and/or operating system used.

Once you have both AmarecTV and the Amarec Live DirectShow passthrough installed, you're ready to get started. While AmarecTV has many advanced options and presets that you can use for different consoles and video inputs, we'll start off by keeping it simple. The first time you start up AmarecTV, you are likely to be greeted by this window:


First off, you should select your capture device from the list at the top left, in this case I've selected "AverMedia BDA Analog Capture", since that is the part of my capture card that houses the composite and S-Video inputs. If you have multiple inputs, select the one you have your console or device connected to. If you get no sound at first, make sure you select the right sound input device from the list at the bottom left. AmarecTV will by default populate the "Format" list on the right side of the window with supported capture formats reported by your capture device. If you leave it empty, it will attempt to select an appropriate format based on the signal, but as you see, you can also select a specific format yourself, or even specify the parameters as long as you know what you're doing.

Once you're done with this, you should have your capture device video pop up in AmarecTV, and hopefully the audio should be working as well. If your audio is not working and you are using a USB capture device, right click the main AmarecTV window and check the "Input & Channel" menu item, make sure that the option selected in there matches the input your console is currently connected to. Your AmarecTV windows should now look something like this:

(Except maybe you picked a better game than I did.)

With the default settings, deinterlacing may not work for you, and you could end up getting something like this while turning around in a game:


To fix this, open up the configuration dialog for AmarecTV again, either by clicking the button at the top left of the main window, or by pressing "C" on your keyboard. (AmarecTV has a lot of useful shortcut keys.) Navigate to the tab "Graph 2(Preview)", where you should be greeted by something like this:


As you can see, there are quite a few useful options here, such as cropping, aspect ratio and the alike, but for now just focus on the "Deinterlacing" part of the dialog. While using "Auto Select" often works, it may have trouble figuring out if some modes (for instance 480i Component input) are interlaced or not, and you can force it to deinterlace either by selecting "Top field first" or "Bottom field first". As for the "Function" list below, the different modes work with different amounts of success for different games, experiment around with it a bit to see what fits your game the most snugly. I'll just set it to "Top field first" and "Action Game" for now, since Evil Dead for Xbox is such an action-filled and amazing game. Let's close the configuration dialog check out what we've got...


There we go, we're instantly rid of those pesky interlacing lines!

All that's left to do now is configure AmarecTV's DirectShow passthrough. To do this, open up AmarecTV's configuration dialog again. In case you forgot how to do it, either click the button at the top left of the AmarecTV window or press "C" on your keyboard. Navigate to tab "Graph 3(Live)", which looks like this:

If the bottom part of the dialog does not look like in the picture, it means you have not successfully installed the AmarecTV Live Directshow passthrough.

Click the "Live Enable" checkbox, set your output format to a suitable resolution and frame rate and click "Register Filter". The audio settings are not that important, but you can experiment with them if you wish, for outputting the sound to stream only and so on. There, we should be all set now! Time to start up OBS and get this Amarec thing in there!

Once you have OBS running, go to the scene of your choice and add a video capture device source, your configuration should look something like this, with "Amarec Video Capture" being the device you want to use.

Note that I have ticked the "Custom Resolution" checkbox and manually selected a resolution and frame rate. This may or may not be necessary for you, but the AmarecTV Live DirectShow passthrough offers dynamic frame rate, and may cause some issues if it reports a frame rate of 10 or something while OBS probes it. Once you're done, click OK and go on to preview your stream.


There you go! You now have happily deinterlaced video game console input in the sweet home of your OBS, and with very little additional CPU usage since AmarecTV itself is also very lightweight.
You do need to keep AmarecTV running for the DirectShow passthrough to function, but if your screen space is at a premium, you can safely minimize it and it will still work.

Note: AmarecTV might pop up a warning message about the frame rate not being supported. In most cases, this can safely be ignored, and it will work perfectly fine anyway.

Hope you guys liked the guide. Since I've set this up so many times myself, I probably forgot something, don't hesitate to ask if you have any additional questions in case something was unclear. I will call you names and send tiny monkeys to punch you in the stomach, but I promise that I'll also do my best to answer.
 
you can also use other streaming apps to do this or course, i really hope that deinterlacing gets added to OBS sooner rather then later considering alot of people still play classic console games
 

paibox

heros in an halfshel
While you can use free XSplit and its virtual webcam output to get deinterlacing, it's in no way comparable in quality to what you get from AmarecTV. It is easier to do, I suppose, but it also uses a lot more CPU to do so.
 

Jim

Jim
Developer
thanks for making this workaround.. I just haven't had the time to add in deinterlacing features. and I'm not entirely sure I could get them to look as good as this does either.
 

stelzig

Member
I get two syntax errors whenever I launch amarec and I believe this is causing deinterlacing not to work. Any idea on why these show up and how to fix them?

"Syntax error "auto_deint.ini" in 15 lines.
"DATA p t 1280 720 59.94 1280 720 60.00; D4"

"Syntax error "auto_doubler.ini" in 11 lines.
#DATA d 720 240 59.94 720 240 60.00; 240p"

I can remove the lines and get the same error on the following ones, so I imagine it is on all of them.
 

paibox

heros in an halfshel
I haven't seen those errors before, I'm afraid, not sure what could be causing them if you haven't edited the files.

The top line seems to be missing a "#" (as all of the lines are supposed to have a # in front of them), but the settings in these files should really only kick in if you have deinterlacing set to "Automatic".
 

stelzig

Member
I just forgot to add the #. Haven't edited the files and have tried re-installing before. I think it's even happened to me on a different computer =/
 

paibox

heros in an halfshel
I wish I could help you out, but I've never had it happen to me, and I've never seen it happen to anyone else... do you by any chance have any "strange" (I don't mean that in a bad way) language settings in Windows?
 

stelzig

Member
You mean this could simply come down to being my language? >_>
Well yeah i'm from Denmark so naturally i've set my computer to danish...
 

paibox

heros in an halfshel
Mmm, it could be, text encodings and stuff. Additionally, if you have any Danish letters such as uh... the o with the dash through it, stuff like that, in any of your system path, it CAN cause weird errors in various applications.

I unfortunately can't spare the time right now to check how it works with different language settings or login names, but the error makes little enough sense that it could be something like that.
 

dehixem

Member
Hello again,
I tried this guide out, for the moment it seems to work. But I do encounter issues.
Firstly, AmaRec doesn't want me to use SECAM protocol, so for my tests I'm stuck with good old black and white screen (PAL). But it was enough to run some tests.

I'm experiencing quite heavy lag streamwise, the audio and video aren't synched anymore (the video is way behind the audio).

Any suggestions ?
 

paibox

heros in an halfshel
You should be able to pick color format by clicking the "Device Setting" button below the device list in AmarecTV, it's the same as clicking the "Configure" thing in XSplit or OBS, it should bring up a list of video formats to choose from.

As for the lag, I'm not quite sure what could be causing that, AmarecTV and its DirectShow passthrough in general don't use a lot of CPU. Since you have a Dazzle, do you have some sort of line-in workaround set up? This isn't needed with AmarecTV, as it can grab the sound directly from the Dazzle itself.
 
free xsplit does have it's issues but this amarec thing looks overly complex i like simplicity not going though deinterlacing presets until one works just a little nitpick of mine
 

stelzig

Member
Alright so it looks like I got the deinterlacing to work now (just not the default one, still getting the error). But when I stream in 60fps with my dazzle to avoid losing part of the image (easy to see on the F in character names for instance), the image goes all shaky. I don't know if this is because of dazzle, but in case it isn't... Solutions?

http://www.twitch.tv/stelzig/b/392603066

The game I normally stream this isn't an issue, but since I do also play this game at tournaments and stuff and might end up streaming one, it would be nice to get this fixed :)
 

paibox

heros in an halfshel
Ah, SSBM is a 640x480 game, so you'll want to use something other than "Retro game" deinterlacing for that one, or else the image will end up shaky like that.

"Action Game" would probably work best for Smash Bros, "Retro Game" is intended for low resolution graphics, like NES all the way up to most PS1 games.
 

paibox

heros in an halfshel
Hm... it definitely doesn't look like it. Try fiddling around with the capture format (resolution, frame rate) settings on the first tab in Amarec's settings.
 

stelzig

Member
I already did all that before... But I actually went and tried fiddling with settings again. Changing it TO retro game instead of action game actually worked xD

Still looking forward to OBS getting deinterlacing though. Would be cool to not have to use this program.
 

XennoTheRogue

New Member
tried everything in this guide, does not work for a dazzle dv100 capture card. could not get audio in amcap, picture looks the same in amarectv as it does xsplit, amcap, pinnacle studios 14 and OBS.

any help with this pos card would be great, but im really tempted to just sell it and get something that works a lot better.
 

paibox

heros in an halfshel
You can't really expect amazing picture out of a Dazzle, and the image of course looks the same in all applications, it's also dependent on the quality of the output from the console.

To get audio from a Dazzle in AmarecTV (and in OBS as well most likely), you need to select the proper source for the sound, because the Dazzle is stuck on the non-existent "Tuner" audio pin by default. In AmarecTV, right click the main preview and select the "Input & Channel" option from the popup menu and select either Composite or SVideo, depending on which connector you have your Wii hooked up to. In OBS itself, you can set the audio input pin by opening the Crossbar (button available in the source properties), but it'll still look a bit weird, since OBS doesn't do deinterlacing just yet.
 
Top