VDub should have given you the same error message. Anyway, do you have all the needed DLLs to make SRestore work? If they don't autoload, then stick them into the script the way you did the DGDecode.dll, with a 'LoadPlugin' line.
http://avisynth.nl/index.php/Srestore
See if the enclosed DLL gets it to work:
Try StreamFab Downloader and download from Netflix, Amazon, Youtube! Or Try DVDFab and copy Blu-rays! or rip iTunes movies!
+ Reply to Thread
Results 31 to 60 of 149
Thread
-
-
I did just that but I am still getting this error message. take a look at my screenshot.
I have also posted a screenshot of my plugins so you can see all the plugins I have.
My script now looks like this
LoadPlugin("C:\Program Files (x86)\AviSynth 2.5\plugins\DGDecode.dll")
LoadCPlugin("C:\Program Files (x86)\AviSynth 2.5\plugins\yadif.dll")
LoadCPlugin("C:\Program Files (x86)\AviSynth 2.5\plugins\mt_masktools.dll
Import("C:\Program Files (x86)\AviSynth 2.5\plugins\Srestore.avsi")
MPEG2Source("C:\Documents and Settings\Administrator\Desktop\Bol Radha Bol makemkv sample-001_track1_eng.d2v")
Yadif(Mode=1)
Srestore() -
Code:
LoadCPlugin("C:\Program Files (x86)\AviSynth 2.5\plugins\mt_masktools.dll
Code:LoadCPlugin("C:\Program Files (x86)\AviSynth 2.5\plugins\mt_masktools.dll")
users currently on my ignore list: deadrats, Stears555 -
Corrected it, error message still there. this is my script now
LoadPlugin("C:\Program Files (x86)\AviSynth 2.5\plugins\DGDecode.dll")
LoadCPlugin("C:\Program Files (x86)\AviSynth 2.5\plugins\yadif.dll")
LoadCPlugin("C:\Program Files (x86)\AviSynth 2.5\plugins\mt_masktools.dll")
Import("C:\Program Files (x86)\AviSynth 2.5\plugins\Srestore.avsi")
MPEG2Source("C:\Documents and Settings\Administrator\Desktop\Bol Radha Bol makemkv sample-001_track1_eng.d2v")
Yadif(Mode=1)
Srestore() -
1. mt_masktools normally isn't a C-Plugin, therefore you should use LoadPlugin not LoadCPlugin
2. also the error message should have changed and you might still be missing plugins which sRestore is using, see: http://avisynth.nl/index.php/Srestoreusers currently on my ignore list: deadrats, Stears555 -
Normal dll and AVSI filters that are in AviSynth's plugins folder are loaded automatically. CPlugins like Yadif need to be explicitly loaded with LoadCPlugin(). You shouldn't need to explicitly import dgdecode, mt_masktools, and srestore.
A few people have complained that they had to manually import filters even though they were already in the plugins folder. There may have been some other configuration problems in those cases. -
Hey I finally did it! It works!
I couldn't thank you guys enough. I just have some questions though.
1. What is the best possible setting for 'video encoding' with xvid4psp? My intent would be to watch movies on my computer and television via my wd media player.
2. What's the reason I have to put the file through DGIndex to create the d2v file? Will it not work if I replace the directory in the script where the movie is to the mpg file itself? As in point it straight to the root file?
3. The file also opens in virtual dub, but virtual dub can only output to avi. Would you choose virtual dub and output the file to high quality xvid or is it better to stick with xvid4psp and out to mkv?
4. here is what I created with xvid4psp, take a look have I hit it on the nailk or is there any other filters or settings that can improve it further? You can see the blur is totally gone, there are extremely faint artifacts around the edges, this doesn't bother me too much but I noticed on one of the samples attached by one of you guys these artifacts weren't there.Last edited by Acehit; 26th Sep 2013 at 07:00. Reason: forgot something
-
Acehit, usually you would load a .dll plugin with just LoadPlugin(...). There are a few .dll's (and I mean barely a few) that are a different type of C-language compilation; these are loaded with LoadCplugin(...).
The masktools.dll's (there are several versions, with different names) should load automatically if they are in your plugins folder. The few "C" plugins that I mention don't have the code that loads automatically, which is why LoadCplugin is required for those few.
Selur mentioned that sRestore might use some support plugins. Masktools is usually the only other nplugin used by sRestore, but 3 more are mentioned. Likely you won't need the other three for most deblending operations, but just in case this video is making sRestore doing extra work I've attached a .zip with the other 3 requirements below. The three dll's in the .zip are TIVTC.dll, RemoveGrainSSE2.dll, and Average.dll. Copy them into your plugins folder. If you do any work with vids that were originally mastered from film, you are likely to run into TIVTC.dll in the future anyway.
At first, be patient. With Avisynth we've all been there, done that.
When you first start using Avisynth, the biggest hassle isn't learning to write scripts. That gets pretty easy. The worst hassle is getting all the plugins straightened out. Best thing to do is to keep up with the documentation that comes with most (but not all) plugins. They always list those "extra's" that are sometimes hard to find. Later, you can trace back and find the original full-package downloads for some of these plugins. For now, you just need the dll's.Last edited by sanlyn; 19th Mar 2014 at 11:34.
-
Great stuff, thank you I have put them all in my plugins folder, do I now need to do anything further with my script? As it it works in both virtual dub and xvid4psp.
Here's how it looks at the mo
LoadPlugin("C:\Program Files (x86)\AviSynth 2.5\plugins\DGDecode.dll")
LoadCPlugin("C:\Program Files (x86)\AviSynth 2.5\plugins\yadif.dll")
LoadPlugin("C:\Program Files (x86)\AviSynth 2.5\plugins\mt_masktools.dll")
Import("C:\Program Files (x86)\AviSynth 2.5\plugins\Srestore.avsi")
MPEG2Source("C:\Documents and Settings\Administrator\Desktop\Bol Radha Bol makemkv sample-001_track1_eng.d2v")
Yadif(Mode=1)
Srestore() -
an "avsi" loads automatically, just like most dll's. You would use Import() for "avs" scripts. Probably won't hurt to leave the statement that way, but if it gives you a problem just comment the line out with a "#" in front of it.
DGDecode and mt_masktools are also automatic loaders. Usually, people would explicitly use LoadPlugin() if the plugin is in a different location than the plugins folder or if a specific version of the plugin is required. But LoadPlugin() won't hurt.Last edited by sanlyn; 19th Mar 2014 at 11:35.
-
When you say autoload, does that mean I do not have to input a line in the script for that plugin to work? Or is it a case that I have to put a line, I just use the LoadPlugin(...)
-
Autoload means they are automatically loaded every time AviSynth start. You don't have to use Import() or LoadPlugin(). Cplugins never autoload. Your script can be reduced to:
Code:LoadCPlugin("C:\Program Files (x86)\AviSynth 2.5\plugins\yadif.dll") MPEG2Source("C:\Documents and Settings\Administrator\Desktop\Bol Radha Bol makemkv sample-001_track1_eng.d2v") Yadif(Mode=1) Srestore()
-
No, you don't need those lines. Those filters will automatically be loaded by AviSynth every time it starts. That's the whole point of putting them in the plugins folder, rather than somewhere else. And if you create an AVSI script in your plugins folder with the line:
Code:LoadCPlugin("C:\Program Files (x86)\AviSynth 2.5\plugins\yadif.dll")
Code:MPEG2Source("C:\Documents and Settings\Administrator\Desktop\Bol Radha Bol makemkv sample-001_track1_eng.d2v") Yadif(Mode=1) Srestore()
Code:MPEG2Source("Bol Radha Bol makemkv sample-001_track1_eng.d2v") Yadif(Mode=1) Srestore()
-
There's no simple answer to this. It's always a compromise of encoding time vs. visual quality vs. file size.
MPG compression internally stores frames out of order. It can be hard for a decoder to get the right frame when seeking randomly within the file. Building the index makes it easier and faster to get the right frame every time. You can open an MPG file directly with DirectShowSource() but that often leads to problems with the wrong frame being displayed while editing, filtering, or encoding.
h.264 delivers better quality than Xvid at the same bitrate (file size). I'd use x264 rather than Xvid since your player supports this. It's possible to encode to other containers with external codecs and muxers with VirtualDub. But that's another round of installation headaches. Personally, I use the x264 command line encoder via a batch file for most of my encoding.
QTGMC is a better deinterlacer than Yadif. You'll have to locate and install a bunch more filters to use it though. And it's much slower.
There is tons of other stuff you could do. Deblocking, deringing, dehaloing, noise reduction, color and levels correction, etc. -
jagabo I did what you said, I reduced the script to what you see below, the problem I face now is that I get an error message in virtual dub. The message says 'avisynth open failure: script error: there is no function names "yadif"
Otherwise if I insert all those lines then it works. My video file and the script file are both on my desktop. So technically they are in the same desktop folder. Unless you mean I have to make a seperate folder and put them both in there.
MPEG2Source("Bol Radha Bol makemkv sample-001_track1_eng.d2v")Yadif(Mode=1)Srestore() -
Precisely. The script only works if it looks like #40.
I also noticed that the following line:-
Yadif(mode=1, order=1)
Produces better results than...
Yadif(Mode=1)
I don't know why it just does. With the first line you can still see a very faint blur, the second takes it away to the point where you need eagle eyes to actually notice it. -
Probably because yadif assumes the default field order from Avisynth, which is BFF. "Order=1" tells yadif that the correct field order for your video is TFF.
You can accomplish the same thing this way:
AssumeTFF().Yadif(mode=1)Last edited by sanlyn; 19th Mar 2014 at 11:35.
-
Then there's something not quite right with your AviSynth install. Did you install AviSynth yourself or was it installed as part of another program? Check the Registry for hkey_local_machine\software\wow6432node\avisynth\p lugindir2_5 -- is it set to C:\Program Files (x86)\AviSynth 2.5\plugins ?
You didn't use info=3 in your Mpeg2Source line so AviSynth assumed your video was bottom field first. order=1 in Yadif is telling it to treat the video as top field first. So your video is probably TFF. You could also use AssumeTFF() before calling Yadif.
So
Code:Mpeg2Source("filename.d2v") AssumeTFF() Yadif(mode=1)
Code:Mpeg2Source("filename.d2v", info=3) Yadif(mode=1)
Code:Mpeg2Source("filename.d2v") Yadif(mode=1, order=1)
-
I would echo jagabo: h264 gives better results, with many encoding options. I encoded the final version of my working AVI with TMPGenc Mastering Works 5's x264 encoder. Command-line x264 is another choice, and there are others.I also use TX264.
The two images below illusrtrate the improvements one can make with a few more plugins. The video I posted was deinterlaced with QTGMC (and don't worry about that yet. You have enough headache for now). QTGMC does some denoising and helps get smoother motion, even with this video which has some real problems.
The image below is frame 1311, the original deinterlace with no other plugins (top) and after using a few plugins for edge cleaning (bottom). In the top image you see faint edge and not-so-faint edge halos, rough edges, and some edge ghosting. Remnants of some of the edge ghosting is still there but more difficult to see (pesky little devils, difficult to clean). You see two left-edge ghosts in the man on the left, the back of the woman's hair on the right, and slightly in the background window frame. Left-click on the image to see it full sized in the forum viewer (and the forum viewer does darken images somewhat. No one knows why).
[Attachment 20212 - Click to enlarge]
I some edge cleaners in Avisynth, then converted to RGB so I could use the exorcist anti-ghost filter in VirtualkDub and Color Mill for some slight corrections. I used two copies of exorcist: the first was a lighter setting for the darker edge ghost, the second was a darker filter fore the brighter, inner edge ghost.
This is the script I used after deinterlace and restore, which I performed as a separate step (because QTGMC and sRestore together run too damn slow for all these plugins at once). Stab() was used to help calm all the frame hopping somewhat. Also used some plugins to restore the film's fine-grain and avoid banding effects in skin tones and the walls in the background. An example of how far you can go. One could go further.
Code:#=== Avisynth plugins used: #- Stab.avs #- MCTemporalDenoise.avsi #- HQdering.avs #- DeHalo_alpha.avsi #- WarpSharp.dll #- DeBlock.dll #- GradFun2DBmod.avsi #- AddGrainC.dll Import("D:\AviSynth 2.5\plugins\Stab.avs") Import("D:\AviSynth 2.5\plugins\HQdering.avs") AviSource("E:\forum\acehit\B\mkvmerge_Step1.avi") COlorYUV(cont_y=-25,off_y=-7,gamma_y=-10) Stab() MCTemporalDenoise(settings="Low") HQdering() DeHalo_Alpha() MergeChroma(aWarpSharp2(depth=30)) # ===== resize for original 1.875:1 DAR =====Crop(6,70,-18,-68) Spline36Resize(720,456) AddBorders(0,12,0,12) DeBlock() GradFun2DBmod(thr=1.8,mask=false) AddGrainC(2.0,2.0) ConvertToRGB32(matrix="Rec601",interlaced=false)
Last edited by sanlyn; 19th Mar 2014 at 11:35.
-
Jeeeese! I'll have to sit down and really get my head into gear for that one. However that is what I am aiming for.
When I import the video file in DGIndex, before I save it as a d2v file do I need to apply anything in this software? As in run any specific settings, filters or anything like that. Or is it purely what I think which is to import it and just save the project without doing anything extra in between? -
Basically you need the d2v project file to open the vid in Avisynth for further work. The MPEG2Source() function is in DGDecode.dll. Yoiu can use a few built-in filters with that function, but personally I'm more comfortable with Avisynth's plugins. The filter descriptions and examples using them are in the DGDecode manual that comes with the DGMPGDec package. You would have that manual in the location where you downloaded the plugin.
I didn't use MPEG2Souce this time. Used ffms2 instead:
Code:#=== Avisynth plugins used: #- ffms2.dll #- ffms2.avsi #- QTGMC-3.32.avsi #- sRestore.avsi LoadCplugin("D:\AviSynth 2.5\plugins\ffms2.dll") ffvideosource("E:\forum\acehit\B\Bol Radha Bol makemkv sample-001.mkv") AssumeTFF().QTGMC(preset="medium",TR1=2,TR2=2,sharpness=0.8) sRestore() # ----- Save as YV12 (Lagarith "fast recompress") -----
Last edited by sanlyn; 19th Mar 2014 at 11:36.
-
In that exmaple in #51. The first example where there is ghosting and noise. Is there anyway I can eliminate this and produce exactly the same results using virtualdub filters?
-
actually sorry my mistake, I just read sanlyn used the ghost filter and colour mill filter in virtual dub, so ill look out for those. How do I edge clean with avisynth can someone talk me through that one?
-
The step I posted in #53 does three things: (a) opens an mkv or other input source using ffms2 -- or you can use MPEG2Source or another utility to access the source. This step opens, decompresses, and decodes the encoded mkv. (b) QTGMC deinterlaces the decoded video. You can use yadif instead, and there are other deinterlacers. (c) sRestore removes dupe frames to restore the original fps. In this case the output was 25FPS progressive decoded video in an AVI container, which I saved in VirtualDub with lossless Lagarith in the original YV12 colorspace. This was for later cleanup and lossless processing in Avisynth, and finally in VirtualDub.
After all processing was finished, I still had a lossless Lagarith AVI. I input that AVI into my encoder app, added the audio, and encoded to h264 using TMPGenc's MW5 x264 app. I could have used other encoders.Last edited by sanlyn; 19th Mar 2014 at 11:36.
-
Hm.Lots of questions here.
Jagabo had a good answwer for that. I'm not a great fan of Xvid, and some of my players won't touch it. I tend to stick with two standards: DVD and h264. The frames shown were captured from the AVI's in VirtualDub.
Not exactly. In particular, halos and edge ringing are tough to handle in VirtualDub. But their anti-ghost filter (exorcist) is very handy. Avisynth has its own version, but it's much more difficult to work with. Ghosts and ringing (halos) are similar, but not quite the same thing. DCT ringing is best handled with Avisynth plugins in the vid's original YUV colorspace (usually YV12).
You have no idea how complicated the answer is. Edges and other detail were handled min that script in several ways. QTGMC cleans some of it, MCTemporalDenoise cleaned a little more. I used three plugins specifically for ringing (but not for the ghosting) and to clarify and tighten-up edges:
HQdering.avsi
DeHalo_alpha.avsi
aWarpSharp2, a function in warpsharp.dll and the newer aWarpSharp.dll.
All of the plugins mentioned require a dozen-plus support files, most of which are also stand-alone filters. In fact you can set up MCTemporalDenboise to use deHalo_Alpha for some help in edge cleaning.
Before you get into a mad rush to use some of this stuff, I would caution that getting into heavy Avisynth work takes time -- but if I can do it anyone can, especially with jagabo and a few other pro's to drag me kicking and screaming into it!. I used VirtualDub exclusively for years, until I got into a video project that VDub simply couldn't handle. You might want to first look into the possibilities. I suggest that you browse a web page of a ton of Avisynth filtering samples. The website is dedicated to anime, but 90% of the filters shown can be used anywhere. In fact I used two of them on your video (DeBlock and GradFun2DBmod). Take a look at this page and scroll down thru the samples (you can click on various links in the samples to see different results in the images): http://www.animemusicvideos.org/guides/avtech31/post-qual.html .You'll see examples of what ringing, rainbows, aliasing, bad edges, banding, block noise, etc., really look like.Last edited by sanlyn; 19th Mar 2014 at 11:36.
-
Ok since we have established that on my script, some of the files will not load automatically including the ones that should because as I mentioned already only my initial script works, the shortened one doesn't work. It will only work if I write a line for that plugin.
Does this mean in my individual case I have to write a line for every plugin that I want to use?
I noticed that when I load the script in virtual dub, it actually says on the bottom of the application, 4 filters in use or something to that effect.
Similar Threads
-
Motion blur with XviD AVIs
By bruce73 in forum Newbie / General discussionsReplies: 6Last Post: 29th Dec 2012, 09:26 -
Reducing motion blur
By gzaloprgm in forum EditingReplies: 0Last Post: 1st Aug 2012, 00:29 -
Deinterlacing or Motion Blur possibly?
By spiegel32 in forum EditingReplies: 9Last Post: 5th Sep 2009, 08:13 -
HD footage has excessive motion blur.
By mattlolwtf in forum Camcorders (DV/HDV/AVCHD/HD)Replies: 9Last Post: 5th Apr 2009, 23:05 -
AVCHD - motion blur problem
By Coroner in forum Newbie / General discussionsReplies: 4Last Post: 8th Dec 2008, 16:59