I know I am opening up myself to potential abuse here (LOL!), but opinions, thoughts, suggestions from more experienced people is never a bad thing.
I have just completed a lot of experimenting on the attached snippet. I have utilized:
-- deflicker
-- spot removal
-- stabilization
-- brightness and contrast
-- (some) frame interpolation
-- sharpening
-- upscaling.
I have not touched the audio yet (which is my area of expertise and I'm not worried about it).
I also know I will have some individual frames to touch up manually that I didn't do for this example.
But this is my starting point for the project.
Thoughts welcomed!
Thanks,
Joe
+ Reply to Thread
Results 1 to 8 of 8
-
-
Did you do any grain reduction?
I very much like how you sharpened it. Her blouse looks really good. The deflicker settings you used gave you a great result.
As for those three huge blobs at frame 67, and the false echo you get from them two frames later, here's how I would handle that.
I do all of my editing and rough grading in my NLE (Vegas) before I do any restoration. In Vegas, I have developed almost 100 scripts to help speed the editing. One of them gives me a one button push to replace a "bad" frame with an exact duplicate of the frame before it. Then, in my AVISynth script, I have a simple one-line detection which returns zero when it detects a duplicate. I then test for any value less than 0.1 (you generally should not test for 0.000) and insert an interpolated frame. So, I would have replaced the massive burn marks with a duplicate, and then had the script replace the duplicate with a motion estimated frame. -
Thanks for the in depth response, John....
I do something similar regarding those frames....much less sophisticated (and automated) than yours...I will basically go in to the damaged frame and physically cut and paste in the bad spots from the frame before or after. Much more time consuming, but it keeps the motion intact. I didn't do that yet for this experiment, as I was concerned more with software settings than manual work.
I too use Vegas for the whole "frame replacement" part of the process. It was in Vegas that I applied the De Flicker plugin from Boris. It worked far better than any AviSynth experiments I tried.
Still some minor tweaking to do. I'll keep you posted. Thank you again for taking the time to comment.
Joe -
Very good this.
I'm not into this kind of restoration, but it's amazing and impressive to see the final result. -
Very nice restoration and details recovery. Well done.
FWIW attached 2 screenshots (frame 67 and frame 391) of damaged frames of the unprocessed source which are fixed by motion interpolation.
Frame 67 looks reasonable, whereas artifcats (left arm and left hand) are prominent in frame 391. Selecting a better RIFE model may have improved it (the model selection in RIFE is by trial and error).
Script used for interpolation (originally proposed by jagabo as far as I remember), based on frame numbers to be replaced:
Code:source ReplaceFramesRIFE(67,1,12) ReplaceFramesRIFE(391,1,24) stackhorizontal(source,last) ############################################# # REPLACE FRAMES - MULTIPLE FRAMES IN A ROW # ############################################# function ReplaceFramesRIFE(clip Source, int N, int X, int model) { # N is number of the 1st frame in Source that needs replacing. # X is total number of frames to replace # e.g. ReplaceFramesRIFE(101, 5, 12) would replace 101,102,103,104,105 , by using 100 and 106 as reference points for interpolation using RIFE model 12 # model is the RIFE model # requires YV12, YV16, or YV24 input, outputs same as input X=Default(X,1) model=Default(model,12) Trim(Source, N-1, 1)+Trim(Source, N+X, 1) z_ConvertFormat(pixel_type="RGBPS", colorspace_op="709:709:709:l=>rgb:709:709:full") Rife(gpu_thread=1, model=model, factor_num=X+1, factor_den=1, sc=false) # model >10 needed for custom factor/rate z_ConvertFormat(pixel_type=Source.PixelType, colorspace_op="rgb:709:709:f=>709:709:709:limited") AssumeFPS(Source.FrameRateNumerator, Source.FrameRateDenominator) Trim(1,X) Subtitle("INTERPOLATED",size=48) # optional label to verify replacement, for debugging Source.trim(0,N-1) ++ last ++ Source.trim(N+X,0) } -
Thanks for the input, Sharc...
I still need to do some tweaking on the replacement frames, but I appreciate script!!
Joe -
Personally, I don't like what happend with the curtains and the texture of the closes of the guy, both seem like different materialy now.
It seems like some transformer like Codeformer is only applied to portions of the clip.
I also would use something like SpotLess or similar.
Cu Selurusers currently on my ignore list: deadrats, Stears555, marcorocchini
Similar Threads
-
Looking for VHS capture advice, evaluations and helpful opinions
By 916Area52 in forum Newbie / General discussionsReplies: 50Last Post: 16th Sep 2024, 16:29 -
Replay Video Capture & Jaksta Media Recorder: Opinions
By devilcoelhodog in forum Video Streaming DownloadingReplies: 0Last Post: 9th Apr 2022, 03:11



Quote