Welcome to Doom9's Forum, THE in-place to be for everyone interested in DVD conversion.

Before you start posting please read the forum rules. By posting to this forum you agree to abide by the rules.

 

Go Back   Doom9's Forum > Capturing and Editing Video > Avisynth Usage

Reply
 
Thread Tools Search this Thread Display Modes
Old 26th April 2018, 13:30   #1  |  Link
ShogunGino
Registered User
 
Join Date: Apr 2018
Posts: 5
Troubles deinterlacing PS2 480i60 footage

I've browsed as many threads I've found relevant for two weeks now, and nothing I've found and tried have proven successful. I'll list out my attempts in order I tried them.

I have a Hauppauge 1212, purchased to record 480i gameplay footage through YPbPr cables(mostly PS2), since the 1212 does not automatically force a terrible blend fields deinterlacing filter. With it's software, it can record in .ts, .m2ts, and .mp4. The .m2ts option seems to give the highest quality.

I downloaded 64-bit AviSynth and the K-Lite codec pack at the recommendation of another amateur video maker like myself, and we used the following script to get it to work in VirtualDub:

DirectShowSource("source.M2TS")
AssumeTFF()

With VD's built in deinterlacing filters, I can get the framerate where I want it at 59.94, but what I've heard called "color fields" still remain, and no amount of field bob manipulation improves it. See Capture1

The guy who recommended this setup to me says he had no such combing artifacts appear for him.

I tried loading the Avisynth Yadif plugin, which I placed in the plugins64 folder in my Avisynth directory. I removed the AssumeTFF() script, and replaced it with these two lines:

DirectShowSource("source.M2TS")
LoadCPlugin("C:\Program Files (x86)\AviSynth\plugins64\yadif17\yadif.dll")
Yadif(mode=1, order=1, planar=false, opt=-1)

But, Virtualdub tells me that it's unable to load the plugin and doesn't give a special reason why.

So I try downloading Virtualdub's Smart Deinterlacer v.2.8 beta 1, and I place it in both the Plugins and Plugins64 folders, and try to import it as a .vdf in the Add Filters window. It tells me that its not a valid Win32 application, which I find odd because I made sure to download the 64-bit version of VD. It also doesn't show up in the list of Filters, so that didn't work either.

So I try out this QTGMC thing that sounds really exciting, and I download the latest version, v.3.357, along with the
core plugins in the Avisynth plugins64 folder, with the following script:

DirectShowSource("source.M2TS")
QTGMC(Preset="Slow")
AssumeTFF()

Whether or not the AssumeTFF() line is necessary I don't know, because VD tells me that on Line 244 of QTGMC, there is no function for "undefined". See Capture2 for the .ansi file opened to the line in C++.

Nothing I could find in the tutorials mentioned anything about this, or if it could cause a problem, and at this point, I'm not sure how to progress. I don't know if I've organized my folders incorrectly, with plugins in the wrong folders, or if something in my script was off. I've tried following all the advice I could, but nothing is even close to functioning in VD.

It's been quite frustrating since not even trying to record/deinterlace with OBS has worked. I find that weird since I could hook up my PS2 with s-video into my Avermedia EZ DVDmaker 7, and it can record/deinterlace/double frames just fine with that, but with the 1212, I still get combs. The only thing that looks nice is, surprisingly, VLC with its Yadif x2 filter, playback is exactly how I want to have it. Too bad screen capture with OBS and the like for that turns out blurry results, no matter how I set the recording parameters.
Attached Images
  
ShogunGino is offline   Reply With Quote
Old 26th April 2018, 15:41   #2  |  Link
StainlessS
HeartlessS Usurer
 
StainlessS's Avatar
 
Join Date: Dec 2009
Location: Over the rainbow
Posts: 10,980
64bit Avisynth requires 64 [EDIT: bit] dll's, Vdub same.
Just putting in the 64 bit folder does nothing but confuse/mess up your installation.
Run Groucho2004 AvsMeter from command line with -
Code:
AvsMeter -avsInfo -L
Will show what dll's you have.

Code:
AVSMeter 2.7.0 (x86) - Copyright (c) 2012-2017, Groucho2004

Usage:  AVSMeter script.avs [switches]

Switches:
  -avsinfo            Display extended Avisynth info
  -info [-i]          Display clip info
  -log  [-l]          Create log file
  -csv                Create csv file
  -gpu                Display GPU/VPU usage (requires GPU-Z)
  -range=first,last   Set frame range
  -timelimit=n        Set time limit (seconds)
  -priority=n         Set process priority (1:low, 2:normal, 3:high)

  For more info on the command line switches and INI file
  settings read the documentation (AVSMeter.html) included
  in the distribution package.
List of available 64 bit dll's for avisynth+:- http://avisynth.nl/index.php/AviSynth%2B_x64_plugins
__________________
I sometimes post sober.
StainlessS@MediaFire ::: AND/OR ::: StainlessS@SendSpace

"Some infinities are bigger than other infinities", but how many of them are infinitely bigger ???

Last edited by StainlessS; 26th April 2018 at 19:32.
StainlessS is offline   Reply With Quote
Old 26th April 2018, 19:25   #3  |  Link
LemMotlow
Registered User
 
Join Date: Jul 2011
Location: Tennessee, USA
Posts: 266
Quote:
Originally Posted by ShogunGino View Post
DirectShowSource("source.M2TS")
DirectShowSource? For m2ts?
Who told you to use that? No one here, I hope.
LemMotlow is offline   Reply With Quote
Old 26th April 2018, 22:08   #4  |  Link
manono
Moderator
 
Join Date: Oct 2001
Location: Hawaii
Posts: 7,406
Better would be to make 10 seconds or so available for us to have a look.
manono is offline   Reply With Quote
Old 27th April 2018, 10:23   #5  |  Link
ShogunGino
Registered User
 
Join Date: Apr 2018
Posts: 5
Nobody on these forums recommended DirectShowSource for my script. It was a Youtuber who was told what to do by a contact of his own. Having seen some videos of his, it apparently seems to work alright for him.

In any case, here is a link to a short test video, where the M2TS has been deinterlaced with VD's Yadif filter while doubling the frame rate:

https://www.youtube.com/watch?v=U-hY3XZeRyY

I went ahead and updated my AviSynth to make sure that it was the 64-bit version, and got the equivalent plugins for it. However, I'm still getting VD complaining about that "undefined" on Line 244 of the QTGMC 3.357 ansi file. Don't know how to go any farther than that.
ShogunGino is offline   Reply With Quote
Old 27th April 2018, 13:09   #6  |  Link
StainlessS
HeartlessS Usurer
 
StainlessS's Avatar
 
Join Date: Dec 2009
Location: Over the rainbow
Posts: 10,980
UnDefined is from Avs v2.60
Quote:
Undefined

Undefined() v2.60
Returns the undefined state.
It's the state for which Defined() returns false.

Examples:

x = Undefined()
Defined(x) # == false
http://avisynth.nl/index.php/Interna...ions#Undefined

Looks like you are using an old v2.5 64 bit, you should anticipate lots of problems heading your way.

Here is the 32/64 installer, Avisynth+ v2.60 r2664-MT:- https://github.com/pinterf/AviSynthPlus/releases

Or Groucho2004, multi-version (universal) installer:- http://www.iol.ie/~schubert/gas/gas.html

DirectShowSource is not frame accurate, so will probably cause problems, use only as last resort.
__________________
I sometimes post sober.
StainlessS@MediaFire ::: AND/OR ::: StainlessS@SendSpace

"Some infinities are bigger than other infinities", but how many of them are infinitely bigger ???

Last edited by StainlessS; 27th April 2018 at 13:52.
StainlessS is offline   Reply With Quote
Old 27th April 2018, 19:39   #7  |  Link
manono
Moderator
 
Join Date: Oct 2001
Location: Hawaii
Posts: 7,406
Quote:
Originally Posted by ShogunGino View Post
In any case, here is a link to a short test video, where the M2TS has been deinterlaced with VD's Yadif filter while doubling the frame rate
From the untouched source. Not deinterlaced, not reencoded by YouTube, untouched. Pick a short 10 second section that, when deinterlaced using your filters, shows the problem you're having.
Quote:
Having seen some videos of his, it apparently seems to work alright for him.
And you asked him what your problem is?

As StainlessS recommends, it's best that you stick with 32-bit everything - AviSynth, filters, VDub.

Last edited by manono; 27th April 2018 at 19:41.
manono is offline   Reply With Quote
Old 27th April 2018, 20:01   #8  |  Link
StainlessS
HeartlessS Usurer
 
StainlessS's Avatar
 
Join Date: Dec 2009
Location: Over the rainbow
Posts: 10,980
Quote:
Originally Posted by manono View Post
As StainlessS recommends, it's best that you stick with 32-bit everything - AviSynth, filters, VDub.
I find it hard to disagree with that advise.

EDIT: If you want everything to always work as advertised, then stick with 32 bit,
If you want to be 'cutting edge', then go with 64 bit and all of the extra exiciting stuff that goes along with the cutting edge stuff.
__________________
I sometimes post sober.
StainlessS@MediaFire ::: AND/OR ::: StainlessS@SendSpace

"Some infinities are bigger than other infinities", but how many of them are infinitely bigger ???

Last edited by StainlessS; 28th April 2018 at 16:10.
StainlessS is offline   Reply With Quote
Old 28th April 2018, 19:22   #9  |  Link
ShogunGino
Registered User
 
Join Date: Apr 2018
Posts: 5
Changing all my software and plugins to 32 bit seems to have solved the compatibility issues and the combing artifacts go away when using QTGMC.

The issues now are related to the doubled framerate, since each field is its own solid frame now (or so it seems), the video constantly jutters back and forth between them now, and when exported, the speed is off, and audio desyncs.

If this is a result of using DirectShowSource to load the M2TS clip, then I'm open to other suggestions. The wiki suggests FFmpegSource, but as I've come to find, it seems the advice and links on the wiki pages haven't been the most up to date.

In any case, for using FFmpegSource, the wiki says to include the timecode file in the path, but I haven't found a reliable way to get a timecode for my videos.
ShogunGino is offline   Reply With Quote
Old 28th April 2018, 21:07   #10  |  Link
Gser
Registered User
 
Join Date: Apr 2008
Posts: 418
I converted completely to x64 and the only problems I've had is when using outdated versions of plugins or other software. I use QTGMC weekly to deinterlace, using avs+ and virtualdub2 and haven't encountered a single crash and hang, which is much more than I can say about the normal avs and 32 bit. But alas I can say nothing about your case until I have a sample of the file you are using. L-smash source is also an option and the "more" frame accurate Directshow source 2 mod from here https://forum.doom9.org/showthread.php?t=134275&page=2

And you can ignore the timecode thing.

Last edited by Gser; 28th April 2018 at 21:14.
Gser is offline   Reply With Quote
Old 28th April 2018, 21:20   #11  |  Link
StainlessS
HeartlessS Usurer
 
StainlessS's Avatar
 
Join Date: Dec 2009
Location: Over the rainbow
Posts: 10,980
The guys are likely to want to see a 10 secs sample from unprocessed source with constant motion (I have no idea what to use to cut M2TS).

Before deinterlace, to establish whether top/bottom field first
Code:
AssumeTFF
#AssumeBFF
Separatefields
uncommenting one of the AssumeXXX options, then play, if jumps backwards/forwards then is wrong, use other one.
(then remove the above stuff).

Arh, just looked it up, M2TS cuttable with DGIndex.
Mark section with '[' and ']' buttons.

Menu "Save Project & demux video". (post m2v file on some file host).
__________________
I sometimes post sober.
StainlessS@MediaFire ::: AND/OR ::: StainlessS@SendSpace

"Some infinities are bigger than other infinities", but how many of them are infinitely bigger ???
StainlessS is offline   Reply With Quote
Old 26th December 2019, 12:29   #12  |  Link
ShogunGino
Registered User
 
Join Date: Apr 2018
Posts: 5
Well, after a few years of having jobs that took me away from video work, I've been able to return to this, but with a different set of issues.

To note, I no longer use the old Hauppage, I have a StarTech capture device now which allows for uncompressed VDub recordings in avi format, so I don't have to deal with m2ts files and the low bitrate the proprietary recording software the Hauppage used.

I've recently gone through all of my programs relating to QTGMC and AviSynth, and updated all of the required plugins and scripts, if updated versions exist, all 32 bit, and I downloaded the AnimeIVTC script since VDub indicates that YUY2 is the format when recording without compression.

My problem now emerges from my avs script, which had no changes to it, and yet now, when I load it in VDub, it tells me that QTGMC is now no longer something it recognizes it as something it can load.

My script is as such:

DirectShowSource("E:/Game recordings/SD/video.avi")
AssumeTFF()
QTGMC( Preset="Medium")
SelectEven()

And VDub gives me this error message:

Avisynth open failure:
Script failure: there is no function named "QTGMC"
( MySource /480i load.avs, line 3)

I'm not sure what's causing this since a while ago, I used the same exact script, and QTGMC loaded without issue. I keep my QTGMC v3.363 script in a folder along with all the necessary 32-bit plugins in the same folder, and I don't know why VDub or AviSynth 2.6.0.6 doesn't recognize it as a function it can execute. I've made sure everything is the correct version, all in the same folder, and at this point I have no idea what could be causing this.
ShogunGino is offline   Reply With Quote
Old 30th December 2019, 22:47   #13  |  Link
Emulgator
Big Bit Savings Now !
 
Emulgator's Avatar
 
Join Date: Feb 2007
Location: close to the wall
Posts: 1,531
To find out what your AviSynth installation(s) contain:
Run AvsMeter.exe by calling avsinfo32.bat on your system and post the log.
Run AvsMeter64.exe by calling avsinfo64.bat on your system and post the log.
Move all plugins out of their folder into a folder /plugins_waiting
Move only the needed ones back in, one by one, always reloading script (VirtualDub2: F2, AvPmod: F5)

Facultative: As you still try to use DirectShow Source, run GraphStudioNext and post the Screenshot.

A more safe and quite universal source filter I can suggest nowadays:
v=LWLibavVideoSource("E:/Game recordings/SD/video.avi")
a=LWLibavAudioSource("E:/Game recordings/SD/video.avi")
AudioDub(v,a)
Will generate an index file beneath the source file, depending on size/container: be patient.
__________________
"To bypass shortcuts and find suffering...is called QUALity" (Die toten Augen von Friedrichshain)
"Data reduction ? Yep, Sir. We're that issue working on. Synce invntoin uf lingöage..."

Last edited by Emulgator; 30th December 2019 at 22:52.
Emulgator is offline   Reply With Quote
Old 31st December 2019, 02:38   #14  |  Link
kuchikirukia
Registered User
 
Join Date: Oct 2014
Posts: 476
Just load the plugins with loadplugin and the scripts with import.

Import("C:\MeGUI\tools\avisynth_plugin\QTGMC-3.32.avsi")
LoadPlugin("C:\MeGUI\tools\avisynth_plugin\nnedi3.dll")

etc.

Also, don't use DirectShowSource, use LSMASH.
And don't use selecteven() unless you for some reason want to destroy 60fps content by turning it into 30.

Last edited by kuchikirukia; 31st December 2019 at 02:41.
kuchikirukia is offline   Reply With Quote
Reply

Tags
avisynth, deinterlace, playstation 2, qtgmc, virtualdub

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +1. The time now is 10:09.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.