I don't know about super sexy, but it occurs to me that, starting from the two good frames, you could probably have added the 167 intermediate fames in one go by using MFlowFPS to (temporarily) multiply the frame rate by 166.![]()
+ Reply to Thread
Results 241 to 270 of 318
-
-
Re: 400-1291.xvidq3.avi,
I got the idea for the dissolves watching a restoral of a rare silent film on Turner Classic Movies. They used it 3 times. but held the stills longer. It's definitly an idea. Yeah...syncing the music would pose a real problem, not that it can't be done. Hmm. I keep watching it and wondering how it "plays", know what I mean? Definitely something to work from.
I'm still repairing 2 PC's, but sneaking now and then to keep going over the new mv scripts. -
poisondeathray, thanks to you and Gavino, et al, for leading me to ways of saving more frames from the damage sequence. One problem is that frames during the damage have different levels and color. I fixed that when I made AVi's from the saved frames, but I can fix it again with new clips.
The major glitch with this scene is that it's a slow dissolve-in from previous scenes that look nothing like the Big Finish or the white dissolve. There are 4 previous shots of the same scene, some stage lighting changes, and every scene looked so different they look like stuff from a different tape. So I actually started at the end and worked backward to make previous scenes look like the finish. I figured the white dissolve probably looked "correct", of not too red, and when the shotm of the audience kicked in it looked "correct" too.
It's a bit of a re-work (!) but I'm getting the idea. I'm just now finishing those two PC's and will get back to cleaning up the "worst of" stuff today Much of what I'm earning on these PC repairs is going into mmy "AE FUnd". The wife will throw a hissy fit.Last edited by sanlyn; 30th Jun 2011 at 09:53.
-
Hmm. The top and right border stains again, and in the damaged frames they're worse than the others. I think I should try chubbyrain2 and some basic denoising first (but not NeatVideo or anything in RGB, I want to stay in YUV as long as I can). I saw a note somewhere in discussions of mvtools that some initial denoising would help the interp process and prevent propagation of noise between frames/fields). Looks like you guys have set up a real workload for me.
-
When does the fat lady sing? ..... I thought it's not over until she sings ?
I think I get it... That last scene with the guy in robes is Mr. Death aka. Grim Reaper ?...
The major glitch with this scene is that it's a slow dissolve-in from previous scenes that look nothing like the Big Finish or the white dissolve. There are 4 previous shots of the same scene, some stage lighting changes, and every scene looked so different they look like stuff from a different tape. So I actually started at the end and worked backward to make previous scenes look like the finish. I figured the white dissolve probably looked "correct", of not too red, and when the shotm of the audience kicked in it looked "correct" too.
I looked at that bad bad sequence more closely and here are a few more ideas you can try:
I think you can salvage that black and white sequence (ie. colorize) it. You said you were having difficulty earlier, but a simple trick is to place the B&W frame on top, place a colored "reference" beneath and use "luminosity" transfer mode. It's easier to do in AE, because you can layer sequences and fix up with masks and motion tracking to align the frames, but you can do it in photoshop as well. It does a close match as is, but of course you can fine tune it. I can't find the equivalent transfer mode in avisynth's overlay
http://avisynth.org/mediawiki/Overlay
EDIT: I found the equivalent transfer mode, it's called mode="luma" when you use Overlay()
Since you get better interpolation using "real" data and real frames, I think this can be improved even more (instead of using only 2 frames to interpolate 166 - the motion will look more natural and will align up with the audio more closely) . There are a few points in between (before the B&W sequence) that can be fixed up as reference points as well. Interpolation is just a quick & dirty alternative, so you don't have to photoshop/AE every single frame
There is a real glitch between 613=>614 if you look at the original sequence , as if some frames were dropped, and I think it matches the bump in the audio (I forgot you included the audio in the original sample... duh...)
There are a few "good" black and white frames that don't need reconstruction at all, just colorization matching. Here is an example, you can combine dislodged frames & cut & paste them back together then colorize. Frames 548, 549 probably belong to the same frame (or should have, or close enough), along with the result, and reference image
The closer the reference image in timimg, the better the "automatic" colorization, and the less fine tuning you have to do . Since there are no good close neighbors, and I used a "distant neighbor" for the reference image, you can see there are patches of grey to the right of the guy in robes. Of course you can easily fix those defects in photoshop or AE . AE is a lot simpler to do this because you can use a video sequence as references, and use animated masks to fix the small gaps. And of course the junk and funky around the edges is easily fixed to with masks
Anyways, just throwing out idea. Don't work too hardLast edited by poisondeathray; 30th Jun 2011 at 13:36.
-
The fat lady referred to was singer Kate Smith. Another Yogi Berra version of the same thing is "It ain't over til it's over." The man was what you'd call a flawed genius.
That's it. He (she?) sneaks across the stage several times earlier. I should've explained some of that, I guess. But as Yogi once said, "You can observe a lot by just watching." The guy in black is the girl Mignon's weirdo daddy reincarnated. He's the one who set the fire in Act 2. Very Victorian/gothic stuff.
audio sync: I worked the original clips without audio, added later when the frame count was correct. I'm surprised it worked.
I'm under growing time constraints at this point, but I'll fix what I can. You and Gavino are such taskmasters.
Jairovital: Looks like it'll take a couple more weeks than I figured.Last edited by sanlyn; 30th Jun 2011 at 11:00.
-
Thank you.
-
Definitely. If you take the time to fix a few frames to interpret from , the final results are much better with less propogation of those problem areas.
The motion problems with that 1st example (2 endpoints for 166 frames causing a "slo mo" effect due to linear interpolation) improve greatly when you have few more "midpoints" to interpolate from.
Instead of 2 points, I used 4 points in the example below for that "bad bad section", and the motion results are more natural. I didn't bother cleaning this up, just fixed the damaged frames. If you take the time to clean up the reference points before the interpolation, and add a few more, it should be even cleaner. It sure beats doing this section frame by frame. -
re: 4point.interp.mkv . Beautiful. Bear with me, folks. I'm slowly working my way thru mvtools and the rest of it. Having trouble with Stab() right now. I'll just keep "stabbing".
-
Don't you think the colors in that last video look more natural with something like
ColorYUV(off_u=25, off_v=-5)
ColorYUV(cont_u=-20, cont_v=-15) -
I didn't color correct ,or attempt any other fixes , other than mvtools frame repair of those badly damaged frames , and colorization of B&W segments
Mr. Sanlyn has already done a good job color correcting the entire thing, so presumably he could just apply the same filters or programs on reconstructed frames
I don't know if you had a look at some earlier posts, but color is waaaay offffff in different sections and nothing matches. It's just a mess.Last edited by poisondeathray; 30th Jun 2011 at 19:51.
-
-
-
Getting deeper into AviSynth again is one of those "Been there, done that" experiences that you often hope might have improved since the last time you went there and did it. Wasted 2 hours a couple of days ago trying to learn something from AviSynth scripts. Found a script that claims to work like the parting of the Red Sea, used by many on Doom 9. Not difficult to interpret logically, but you find it requires 7 dependency dll's and 3 scripts; the 3 scripts require another 8 dll's. Of the 15 dll's required, half of them are in several revisions, and each of the umpteen revisions has the same name. The scripts work with one revision but not with another, then another script requires the older revision that the other script won't work with. 2 hours to load and browse all the required dll's, then another two hours to clear fatal-error startup messages like "the argument 'thr' does not exist" (I never used that argument and never could find it), "this function requires YUY2" (a requirement not zeen anywhere in any documentation for any of umpteen parts that were loaded. Maybe in version 5.0ay.6d.beta4 of dll #12?). I'm falling asleep, exhausted.
That was 4 hours down the tubes the other day. Add another 2.5 hours today. I wanted to try a dandy AviSynth script called "SmoothLevels(). Its documentation listed only 3 dll dependencies, all of which I have. Thinking I had it made, I went past the documentation to look at the code. Alas, no code. There's a notation that SmoothLevels is "depreciated" [sic, meaning "depracated" I guess], but since it's often referred to in many scripts and posts I went searching for an older version of the script. What I found was 9 different versions of the documentation, no script. So off I go on a search for the newer version of SmoothLevels, called SmoothAdjust. Seventeen "404 Error" messages later in Google, I find it. It's a zip download. I unzip it and see 5 files: a readme and 4 dlls. The readme states that the download consists of "3 plugins", and there are 3 plugin names. None of the 4 dlls in the zip files have names matching any of the 3 plugin names.
So <sigh> I figure the 3 "plugin" names are really the names of functions in a dll, and I assume the same function names exist in all the dlls. The dlls are so named in a way that tells me only one of them will run on my 32-bit PC. So I load that dll into AviSYnth's plugins folder. Then I get to reading the arguments required by one of the functions which is named (you guessed it) "SmoothLevels". Then I say to myself, let me check this out a little further, and after another long search I find a single lonely example of an actual call to that function (although that example refers to the old script, not to the new function-in-a-dll). I look at the values passed in the example call, then at the list of arguments in the function-in-a-dll. That function accepts a list of 22 arguments and lists 22 names. The example call I'm looking at passes only 5 values.
Having a little programming experience behind me, I realize that if you have a function defined somewhere with a certain number of named arguments, and you make a call to that function passing 5 values without naming those values, that the function simply accepts those 5 values as corresponding to the first 5 named arguments. That is, value #1 corresponds to argument #1, value #2 corresponds to argument #2, and so on. But then I look at the arguments required by the old, original SmoothLevels function. The old one takes 21 arguments, not 22, and many of the last few arguments have different names. But -- the first 5 arguments in all versions of the function are the same and are defined alike in the specs, so I figure I'm okay there.
I'm just about to run a script to check this function's (plugin's?) capabilities when I suddenly realize something else. The old function required 3 dll dependencies. The new version of the function lists no dependencies. Am I to assume that the new function contains code or similar functionality that was previously contained in those 3 dlls? Or does the new function still require those 3 dlls? I think about this for a minute. A long minute. Surely this new plugin (function? script?) can't have all the functionality of the 3 really big guys it used to depend on. Something here, sez I, ain't kosher. Pieces are missing. And the pattern is all too familiar.
Back during my days of 80-hour weeks in GUI and database programming, a function that no longer worked was corrected immediately, or someone didn't get paid. A missing program was found and replaced, or the code that used it was revised or removed ASAP. If something went wrong with a database server, there were tons of precise detail you could pretty much count on. If you wrote a piece of bad code your development software had ready sources for finding what you did wrong. If you wanted to make a call to the Windows API or support libraries, everything you needed to know about how those things worked was documented. If there was no documentation, you didn't try using it. Besides, I was never keen on just asking for information, but seemed to learn more from finding information.
Well, brave hearts, I've had enough fatal run errors, '404' alerts, and browser redirection to health aides, porn sites, and Hong Kong auto dealers. 6.5 hours down the drain -- and now the wife is home early to commence her 3 and a half day July 4 weekend. Which means that all deep concentration, futile searches in Doom 9, dead examples here and elsewhere, and all other projects, are on hold until July 5th.
Enjoy the holiday, those of you who have one. If not, enjoy something anyway. -
It's a mess trying to get avisynth plugins organized....
That was 4 hours down the tubes the other day. Add another 2.5 hours today. I wanted to try a dandy AviSynth script called "SmoothLevels(). Its documentation listed only 3 dll dependencies, all of which I have. Thinking I had it made, I went past the documentation to look at the code. Alas, no code. There's a notation that SmoothLevels is "depreciated" [sic, meaning "depracated" I guess], but since it's often referred to in many scripts and posts I went searching for an older version of the script. What I found was 9 different versions of the documentation, no script. So off I go on a search for the newer version of SmoothLevels, called SmoothAdjust. Seventeen "404 Error" messages later in Google, I find it. It's a zip download. I unzip it and see 5 files: a readme and 4 dlls. The readme states that the download consists of "3 plugins", and there are 3 plugin names. None of the 4 dlls in the zip files have names matching any of the 3 plugin names.
So <sigh> I figure the 3 "plugin" names are really the names of functions in a dll, and I assume the same function names exist in all the dlls. The dlls are so named in a way that tells me only one of them will run on my 32-bit PC. So I load that dll into AviSYnth's plugins folder. Then I get to reading the arguments required by one of the functions which is named (you guessed it) "SmoothLevels". Then I say to myself, let me check this out a little further, and after another long search I find a single lonely example of an actual call to that function (although that example refers to the old script, not to the new function-in-a-dll). I look at the values passed in the example call, then at the list of arguments in the function-in-a-dll. That function accepts a list of 22 arguments and lists 22 names. The example call I'm looking at passes only 5 values. -
LOL
The scripts work with one revision but not with another, then another script requires the older revision that the other script won't work with
Maybe in version 5.0ay.6d.beta4 of dll #12?).Seventeen "404 Error" messages later in Google, I find it.Surely this new plugin (function? script?)
Well, brave hearts, I've had enough fatal run errors, '404' alerts, and browser redirection to health aides, porn sites, and Hong Kong auto dealers. 6.5 hours down the drain
Enjoy the holiday, those of you who have one. If not, enjoy something anyway.Thank you. -
-
Thank you.
-
In my dictionary, mistress is defined as "a woman who has a continuing extramarital relationship with a man".
As a title, it's also an archaic form of "Mrs".
Colloquially, you could refer to someone's wife as their "missus".
BTW when searching for external Avisynth filters, the best starting point is
http://avisynth.org/mediawiki/External_filters
Also search the Doom9 forums "Avisynth Usage" and "Avisynth Development".
Google is a last resort, but when using it, adding "Avisynth" will avoid Hong Kong auto dealers, etc. -
No offense taken, jairovital. As far as I'm concerned, my wife is also my mistress. When she's not around this weekend I sneak into the forum or look up scripts, and try to learn something about AviSynth.
But more to the point:
Yes, Gavino, I start at avisynth.org or warpenterprises, then hit Doom9. Google, as you say, is my last resort. But I ended up clicking on a link to an author's site, got a message that the sight has been moved "here", clicked that and reached a page in Russia (I think) with a long list in many other languages that listed the name of the script I wanted, and each link I clicked took me to the sites I mentioned. Two of those tried to download doodoo trojans, which my NOD32 promptly terminated and deleted, so I finally backed outta there.
Anyway, the missus went out for a while, so while I've snuck back here I want to thank you for you script contributions. I haven't been able to try it yet because I've been interrupted repeatedly all week, but I hope to get to it soon. -
-
Sneaked onto my PC at 4:30 AM to try this script. Once I figured out what I was doing, it went together in 10 minutes (a first!). This clip isn't quite the same damage "end" posted earlier. it starts 30 frames before the damage, ends with a few frames of the next shot -- that's the white dissolve that requires more treatment. The AVI used was an intermediate step, with color from ColorYUV + Tweak + a little NeatVideo, modified later in RGB to rein in fried highlights and make levels/color consistent. Thanks to Gavino for suggesting ReplaceFramesSimple.
Code:
LoadPlugin("D:\AviSynth 2.5\plugins\mvtools2.dll")
LoadPlugin("D:\AviSynth 2.5\plugins\RemapFrames.dll")
AviSource("F:\Mignon02\Work07\W07E\X03\W07E_E08x_F 3Ba.avi")
assumeTFF()
ConvertToYV12(interlaced=true)
in1=last
even_in = in1.assumetff.separatefields.selecteven
odd_in = in1.assumetff.separatefields.selectodd
# ---------- Even Fields -------------
even_in
Super_Even = even_in.msuper()
backv = manalyse(Super_Even, isb=true)
forwv = manalyse(Super_Even, isb=false)
new_fields = mflowinter(Super_Even, backv, forwv, time=50.0, ml=100)
# --------- ReplaceFramesSimple used here to ------------
# --------- replace fields instead of frames ------------
# -------------------------------------------------------
ReplaceFramesSimple(odd_in, new_fields, mappings="[30 35] [38 69] [154 508]")
filtered_odd = last
last = interleave(even_in, filtered_odd)
weave()
NTSC MPEG 352x480, Layer-2, 17-secs, 9.2 MB
http://dc393.4shared.com/download/J2t21trZ/W07E_E08x_F3Ba_rp1.mpg
I might have used "last" a bit much; it always trips me up. I have more frames to recover. Might have to mix some short dissolve tricks here, and there's 3 hopping frames at 220-222. Time's gettin' short, Little Beaver! I still have almost 3 hours of video to review and tweak, but can use a similar script to fix several thousand spots that used BadFrames().
Last nite after dinner I showed 3 people the mods of this scene posted so far. When it came to out of sync audio, they all said they preferred a short dissolve or even still frames (no way!) because the whacky audio was disorienting and killed the mood. Anyway my original dissolves look clunky (I should've used Separatefields!) Well...I'll keep working on it as long as I can. I get their point: the mood and build-up are important.
I still have to work on some really bad, unfixed motion. Like this this clip:
NTSC MPEG 352x480, Layer-2, 6-secs 2.8 MB
http://dc397.4shared.com/download/dfdhSFfX/W07E_BadMotion.mpg
Thanks, poison and 2BDecided and y'all others, for leading me by the hand back to the dreaded AviSynth. I'll never forgive you. Might be able to catch up in about 5 years.
Last edited by sanlyn; 3rd Jul 2011 at 21:02. Reason: really dumb script
-
I think that clip "W07E_E08x_F3Ba_rp1.mpg" has been stabilized incorrectly
When you use assumetff.separatefields , the alternate fields don't bob up & down (they should). I'm guessing a stabilizer was applied to it with separated fields, but not when it was bobbed -
Hi sanlyn, shouldn't you be enjoying a well-deserved vacation right now?
Looking at your script in post #263, it seems you are attempting to replace odd fields by interpolating between even ones. That will not work well, since the two sets of fields have different alignment.
I think that explains pdr's observation:
-
When you get back, can you describe how the bad motion clip was processed ? or post the original part of that video?
It looks like maybe some temporal stabilizer or cleaner got confused with motion vectors. Some of the frames have been replaced by blends, so it makes the effect appear worse -
That particular AVI had some BadFrames() work, but it was denoised well. If the script had worked, I would have dropped back to an earlier version of that AVI. Changed the script to make procedures think the "new" fields was field-based/complement parity, didn't work. Maybe ReplaceFramesSimple can't be used at the field level.
Since I don't know how to interpolate "good" data from bad bottom fields, I'll have to try something else. Maybe an output file of nothing but good top fields and replaced bad fields. Sorry 'bout that. -
What I did earlier was bob the video, then apply the filters. Once it's fixed , you would re-interlace it. Post #230 explains why it has to be done this way for that section.
To reinterlace is simple, from the bobbed video, add:
AssumeTFF().SeparateFields().SelectEvery(4, 0, 3).Weave()
The last part that of that post suggests the bad-bad-bad section can't be fixed , but the later experiments show you can at least partially fix the bad-bad-bad section if you use more interpolation points -
Yep, I figured I had to go back to Bobby. SelectEvery always throws me off, though. L'il ole Dunderhead here
discovered you can't change field offsets by moving them around or playing ComplementParity tricks, etc.
It's the wife's birthday. -
Similar Threads
-
I think an easy way to fix dots flickering (sample included)
By jairovital in forum RestorationReplies: 28Last Post: 11th Jan 2012, 15:39 -
Are these VHS tapes fixable? youtube sample included.
By kcr in forum RestorationReplies: 11Last Post: 29th Sep 2010, 07:37 -
Need help in deinterlacing an old VHS converted video (Sample included) ..
By ahmadka in forum RestorationReplies: 22Last Post: 30th Jun 2010, 12:43 -
Help with Color Correction (Sample Included)
By mlong30 in forum RestorationReplies: 9Last Post: 13th Mar 2008, 23:01 -
Magnetized VHS - How to fix it? (Sample included)
By djnice in forum RestorationReplies: 16Last Post: 18th Sep 2007, 13:14