Deinterlacing: I know I know I know but still

Zone Dymo

New Member
I know I know I know
It has been requested many times
I know the OBS people have totally overlooked it.
I know you want to add it at some point.

But I can't stress enough how great proper Deinterlacing support would be.
Not a single program out there does it well, wait scratch that 1 program does it well.
Xsplit, its there but its crappy quality, degrades image and introduces artifacts.
FFsplit, not even there
Wirecast, there, different from Xsplit but seemingly introduces some image duplication when moving arround, again kinda crap.
The only program that seemingly does a decend job is Livestream's Procaster (granted been a while and I should try/test it again) but of course that only works with Livestream.com

If OBS would get proper Deinterlacing support... it would be pretty much the best livestreaming program out there.
I can't believe nothing does a decend job at it.

Before people mention the Amarec thing with OBS, I have tried it, its not really ideal I must say, not just in the hastle of using it, it it worked great then I would be more then happy to, I mean in the quality.

So yeah, basically once again I would like to stress, please try to add proper deinterlacing support asap.

Other then that, keep up the good work, because of deinterlacing Im unfortunatly atm stuck with Xsplit and its crappy limitations for free users the worst of which being that awful Speex codec for audio ><
 

Zone Dymo

New Member
Care to share that reason?
Because like I said 1 program does it well, as well as the programs that come with capture cards.
But those programs are only there to record with, not livestream.

Its also not like the tech is not there, deinterlacing has been arround forever, hell every LCD tv can do it :P
 

paibox

heros in an halfshel
Because of the way DirectShow typically handles interlaced video (sending two frames interlaced in one frame), it's not entirely easy to deal with without either introducing a delay or compromising quality.

I'm not quite sure what your issue with AmarecTV's deinterlacing is, since that is some of the best realtime deinterlacing you're going to get out of anything.
 

Lain

Forum Admin
Lain
Forum Moderator
Developer
Are there any good directshow deinterlacing filters? Perahps I can implement them into directshow.
 

Muf

Forum Moderator
Yadifmod is probably the best all-round (realtime) software deinterlacer. You can find a reference implementation in ffdshow. DXVA deinterlacing usually looks pretty sweet too, though.
 

Zone Dymo

New Member
I unfortunatly dont know anything about it Im afraid, I mean I can google for good deinterlacing techniques or programs but I dont know if and how one would implement that in OBS.

Are Muf's suggestions anything usefull/usable?
 

Tranquilite

New Member
Jim said:
Are there any good directshow deinterlacing filters? Perahps I can implement them into directshow.

Actually, Amarec's deinterlacer is available as a direct show filter. You can find AmDeinterlace.ax in the program directory, and I was able to build a simple filter graph using it with little trouble. Assuming you can get things to work, perhaps you can get permission from Amaman to bundle the filter with OBS?

CaptureGraph.png
 

Lain

Forum Admin
Lain
Forum Moderator
Developer
Not right now, no. Though I'm probably just going to implement it myself.. well, if I can ever get time. However it is getting closer at least, after the next release I'll finally be able to take a real good look at it, though I'm probably going to be busy as well again for the few next weeks because of some personal stuff again.
 

Tranquilite

New Member
If you plan on implementing it yourself you may want to check out the source of nnedi3. It apparently offers very good deinterlacing while still being fast. Of course most folks would be happy with simple field blending for 480i stuff and field splitting+line-doubling for 240p stuff.

Well whatever you decide to do, good luck. All I've ever heard about deinterlacing is that it is a nightmare to implement.
 

Lain

Forum Admin
Lain
Forum Moderator
Developer
it actually doesn't seem too bad, at least blend and even/odd implementations. the others however do seem to be painful.
 

Muf

Forum Moderator
"While still being fast"? NEDI/ELA is a very heavy algorithm that even with the best MMX/SSE optimisations will tax your CPU significantly at HD resolution. It's not something I would recommend for real-time deinterlacing in an already CPU-heavy live streaming app.
 

Tranquilite

New Member
Eh, I'm not very knowledgeable when it comes to deinterlacing. Something I read indicated that it could deinterlace SD content faster than realtime, which led me to believe that it was "fast".

Though personally, I'll probably just continue to use amarec for my deinterlacing needs.
 

AndehX

Member
Sounds like the Elgato Game Capture HD, would massively benefit from a decent deinterlace filter. Games with alot of motion like F-Zero, look pretty dire when running at 30fps. I don't want to have to window capture the Elgato software, just to retain the silky smooth fps
 

ekce

New Member
Muf said:
even with the best MMX/SSE optimisations will tax your CPU significantly at HD resolution.

I just wanted to point out that most media out there that is interlaced (unless it's being captured through some backwards fucked up way) is not HD.

That said, I agree that there are lots of algorithms out there that are stressful on the processor. I'm not famliar with amarec's or nnedi3. Gstreamer implements a bunch (I've used it for streaming on linux). There is also an ffmpeg deinterlacer not listed here because it's part of another plugin.
http://gstreamer.freedesktop.org/data/d ... ce--method

Here are some benchmarks. Maybe someone finds them useful.
http://tipok.org.ua/node/39

Back when I was streaming from gstreamer more actively I ended up going with the ffdeinterlace (ffmpegs) deinterlacer for some reason. I think it was really low on cpu usage and actually came out better than some of the more intensive ones when capturing my ps2. Perhaps this information is useful to someone.
 

Muf

Forum Moderator
ekce said:
Back when I was streaming from gstreamer more actively I ended up going with the ffdeinterlace (ffmpegs) deinterlacer for some reason. I think it was really low on cpu usage and actually came out better than some of the more intensive ones when capturing my ps2. Perhaps this information is useful to someone.
Yadifmod is pretty much the best looking out of all the "realtime" deinterlacers out there. It's fast and looks decent. I don't think gstreamer supports it, but if you want to see what it looks like try using VLC and setting the deinterlacer to "Yadif (2x)".
 

unwary

New Member
On a note related to deinterlacing, I stream nes games at 60fps using Mediaplayer Classic and OBS. It works out pretty well though I do lack the ability to save the gameplay video using only MPC (crashes when I try to use the Record function).

It's definitely more complex to setup than Amarec but the ability to postprocess the video using Avisynth scripts is worth it. You can even postprocess the audio too but I found it leads to random audio desync which I haven't resolved yet. And it's pointless if you have a hissy mic.

I even wrote a guide for it - https://docs.google.com/document/d/1xL0 ... sp=sharing

I also just tried out the Amarec Deinterlace filter in MPC and I feel that Yadif still beats it. For the purpose of streaming, I feel that Mediaplayer Classic definitely beats AmarecTV. However if you are speedrunning world record attempts, stick with Amarec as its Save video feature actually works.

Here's a link to a sample video that was downloaded from Twitch after I had streamed - http://www.dropbox.com/s/v6opbf1bthz3zh ... zelda2.flv
 

AndehX

Member
good guide, but unfortunately, does not work with the elgato game capture HD. It's not listed in MPC's capture list.
 
Top