Quantcast Avisynth deinterlace, improve some quality, VHS captures? - digitalFAQ Forum
Go Back    Forum > Digital Video > Video Project Help > Restore, Filter, Improve Quality

Reply
 
LinkBack Thread Tools
  #1  
10-03-2018, 10:01 AM
mlesic mlesic is offline
Free Member
 
Join Date: Oct 2017
Posts: 16
Thanked 0 Times in 0 Posts
My goal is get usable VHS video file for watching on computer, TV and send to relatives. Im trying to find some example of workflow or script with normal settings. Maybe list of most used filters, plugins...Im not trying to get perfect, because it is captured with Diamond500 from 20+old VHS on PhilipsVR588.
I want to deinterlace, some noise removal, and mask border...so minimal improvements that I can get. Deep restore and improve quality is for future plans.. Point me in right direction! Tnx
Reply With Quote
Someday, 12:01 PM
admin's Avatar
Ads / Sponsors
 
Join Date: ∞
Posts: 42
Thanks: ∞
Thanked 42 Times in 42 Posts
  #2  
10-03-2018, 11:57 AM
sanlyn sanlyn is offline
Premium Member
 
Join Date: Aug 2009
Location: N. Carolina and NY, USA
Posts: 3,648
Thanked 1,227 Times in 968 Posts
Quote:
Originally Posted by mlesic View Post
My goal is get usable VHS video file for watching on computer, TV and send to relatives.
A worthy goal, and welcome to the forum.

It's difficult to get into any detail or to recommend anything inn general without a short sample of of a typical capture. How you make a sample depends on the format you've captured to, but if you intend to do even basic cleanup you should be capturing to lossless YUY2 using huffyuv or Lagarith compression. If you don't known how to make and post a capture, just ask and give us some details.

Quote:
Originally Posted by mlesic View Post
it is captured with Diamond500 from 20+old VHS on PhilipsVR588.
The VC500 is an old favorite and is a very decent capture device.

The VCR is a problem, with no line tbc. Scanline timing errors make a lot of noise, with bent and/or notched and ragged borders and edges, warped verticals and ripples across frames. Jitter is also a problem with entry-level VCRs. Scanline errors cannot be corrected after capture. I suggest that you shouldn't discard your tapes after capturing. Later, you'll wish you still have the ones that count the most.

Quote:
Originally Posted by mlesic View Post
I want to deinterlace,
Why? Can't your media players and TV deinterlace? Do you deinteralce your DVD's and TV shows before watching them? Your players and TV can deinterlace far better than you can with software unless you're willing to learn to use Avisynth's QTGMC and other plugins. Otherwise nothing looks worse than typical, sloppy software deinterlacing.

Last edited by sanlyn; 10-03-2018 at 12:18 PM.
Reply With Quote
The following users thank sanlyn for this useful post: mlesic (10-03-2018)
  #3  
10-03-2018, 12:52 PM
mlesic mlesic is offline
Free Member
 
Join Date: Oct 2017
Posts: 16
Thanked 0 Times in 0 Posts
Thank you for advices, and warm welcome
I captured several (all) VHS and 8mm video cassetes in lossless YUY2 using huffyuv. 1,5 TB Video raw data. Audio is in syc (i captured in segments of 10-20min (because scene adjustments of poor video recording, and to audio be in sync..). That videorecorder is all I have now. Until I run into TBC device or pro guy that will be ok - most important thing is to watch that VHS memories, not quality - I have DVDs made of VHS on VHS/DVD combo unit - but I considered that I can do better...
I can run as it is for me - but my unt, relatives...all they know is that I send them file over net and they watch it like from phone etc. So VHS originals are stored for life... Thats why I try to do all I can with that I have. Virtual dub I use ok - but I can see that Avisynth QTGMC is best - so I dont mind learning. I see it have some noise removal integrated...Virtualdub deinterlace and temporal smooth I get great results - I dont mind all that "VHS bugs" for now. I didnt watch those Videos 20 years... But If I can make one script that would be great. In one step I can load avi, deinterlace, remove some noise, stabilize picture, smothen maybe, mask borders ("crop")..thats why I say general VHS settings (one size fit them all). Specific problems I run in to I will ask. But without decent capture device with TBC all may work is not worth..

I installed Avisynth,Virtualdub works, Handbrake.
I see if you want it done good - must do it yourself. For example I gave photo negatives to photo store to scan - 1 photo is less then 1mb...redicoulus. I said them I want raw, to edit...What can I do with that...Less than 1Mp photo...facebook quality
Reply With Quote
  #4  
10-03-2018, 05:03 PM
sanlyn sanlyn is offline
Premium Member
 
Join Date: Aug 2009
Location: N. Carolina and NY, USA
Posts: 3,648
Thanked 1,227 Times in 968 Posts
Sorry to say there is no one-size-fits-all script for every video -- and no one could suggest such a script without knowing what your videos look like. Without a sample, then, I'd suggest that you look into some recent posts that go into detail about Avisynth and VirtualDub filters and techniques, and then select and borrow what you feel you need from the samples.

There are literally hundreds of restoration projects. The following thread has over 30 posts and two pages that illustrate a number of methods and filters: Encoding from Huffyuv?. Another thread that has more examples also has two posts that list many download sources for popular and often-used Avisynth and VirtualDub filters: see post #36 . There are other filters and techniques in this post: 90s camcorder: Removing red-blue chroma lines?.
Reply With Quote
  #5  
10-03-2018, 05:14 PM
mlesic mlesic is offline
Free Member
 
Join Date: Oct 2017
Posts: 16
Thanked 0 Times in 0 Posts
Thank you for guidance. I know that there is all in one solution. But I dont even know to recognize flaws to know what i need. Dont have calibrated equipment, VideoRecorder is poor... So thats why I just want to deinterlace properly, remove "generic VHS" noise, mask edge, make reasonable size file with reasonable quality. I found some pro service - must try to send them 1 VHS tape to check how it goes. I have 5 VHS in total every about 1-1,5h duration that is important. Price is 10$ per 1 VHS. If I get captured with pro equipment lossles then I can talk about serious editing and frame analysis...
I will read more and play with it, so I will post some examples
Reply With Quote
  #6  
10-04-2018, 04:08 PM
mlesic mlesic is offline
Free Member
 
Join Date: Oct 2017
Posts: 16
Thanked 0 Times in 0 Posts
Few questinos for virtualdub:
1. What filters are used on deinterlaced and what on interlaced video best?
2. What to do in seperate next pass best or stack it all in one pass?
3. Is it important yuy2 or yv12 for filters?
4. What is "maxed out" bit rate for VHS? 8000 for 720x576? I can see someone saying 2Mbps, or 5 is more than enough...but 8 is max teoretical. Above is placebo. Handbrake 18 setting...
5. Handbrake wants to cut dark masked area 12-20pixels each side ( so thats no more 720x576...it is best to leave that ratio and size? Margins! Watching od plazma, computer, smartphone...
6. Same as above - what size of file should I get? 1h VHS? 1GB is more than ok?
7. Leave doubled framerate? Or that is placebo which increase filesize. I know human can hardly see more than 25fps. But some say smother video is at 50fps
8. Virtualdub is working 21fps (cca 1.5h for 30min VHS) deinterlace, temp smoth and mask. How slower would be avisynth qtgmc? For now qtgmc dont work, noise remover error. But my athlon x2 5600+ 2.6Ghz is a bit slow I see.
Reply With Quote
  #7  
10-04-2018, 07:45 PM
sanlyn sanlyn is offline
Premium Member
 
Join Date: Aug 2009
Location: N. Carolina and NY, USA
Posts: 3,648
Thanked 1,227 Times in 968 Posts
Quote:
Originally Posted by mlesic View Post
1. What filters are used on deinterlaced and what on interlaced video best?
VirtualDub filter setup windows will ask if your video is interlaced and will act accordingly. If the VirtualDub filter doesn't ask, it doesn't matter. With Avisynth, filter documentation and instructions will specify whether or not interlace is allowed. Deinterlacing isn't always necessary. Sometimes the SeparateFields() function will suffice. Can't go further into detail without a sample video you're working with.

Quote:
Originally Posted by mlesic View Post
3. Is it important yuy2 or yv12 for filters?
VirtualDub filters use RGB. When you apply a VirtualDub filter the RGB conversion is automatic. By default, whenever you use "full processing mode" in Avisynth the output is uncompressed RGB24 even if you don't apply filters, unless you specify otherwise for output.

Quote:
Originally Posted by mlesic View Post
4. What is "maxed out" bit rate for VHS? 8000 for 720x576? I can see someone saying 2Mbps, or 5 is more than enough...but 8 is max teoretical. Above is placebo. Handbrake 18 setting...
VHS doesn't have bitrate. VHS doesn't have bits or pixels.

Bitrate for which codec? MPEG for DVD max birate is 9200kbps including headroom for audio. There is no official DVD minimum bitrate but many players will choke if playback bitrate falls below 2000. High quality DVD mainstream bitrate is usually 6000 to 7000 target with 8500 max using 2-pass encoding. h.264 and MPEG for standard definition BluRay and AVCHD have similar but somewhat wider bitrate limits, but maximum GOP sizes differ for BluRay and AVCHD. Motion, greater detail, and noise require higher bitrates.

Quote:
Originally Posted by mlesic View Post
5. Handbrake wants to cut dark masked area 12-20pixels each side ( so thats no more 720x576...it is best to leave that ratio and size? Margins! Watching od plazma, computer, smartphone...
If you insist on using low-tier software like Handbrake, I'm afraid you'll have to live with what it does to your videos. Avisynth doesn't mask borders or image areas, it has many ways to manipulate borders and other frame elements without destructive masking. VirtualDub also has other ways of handling those issues. But I can't help you without a video sample that would allow a demonstration or example operation. Many of the sample projects linked earlier have multiple examples of repairing borders without masking.

Quote:
Originally Posted by mlesic View Post
6. Same as above - what size of file should I get? 1h VHS? 1GB is more than ok?
File size in relation to what? Lossless capture from VHS to 720x576 YUY2 using huffyuv is generally about 28 to 30GB per hour, more or less.

Quote:
Originally Posted by mlesic View Post
7. Leave doubled framerate? Or that is placebo which increase filesize. I know human can hardly see more than 25fps. But some say smother video is at 50fps
Mostly nonsense. Your interlaced PAL TV broadcasts and interlaced DVD and BluRay play at 50 fields per second. Do you have problems seeing those formats? Do you understand the difference between 50 frames per second and 50 fields per second? Deinterlacing, especially with software, always has a cost and involves interpolation and resampling artifacts. Many movies are created at anywhere from 15 to 24 frames per second and various patterns of duplicate frames and fields are inserted to maintain 25fps playback.

You cannot create DVD or BluRay standard definition formats using double frame rate media. In particular, 720x576 PAL BluRay is required to be interlaced or telecined. High Definition 1920x1080 PAL BluRay disc at 25fps is always interlaced.

If it is true, as you say, that "human can hardly see more than 25fps", why would you want double frame rate? By the way, that statement is not true.

Quote:
Originally Posted by mlesic View Post
8. Virtualdub is working 21fps (cca 1.5h for 30min VHS) deinterlace, temp smoth and mask. How slower would be avisynth qtgmc?
It depends on the characteristics of the video and on the parameters used. I can't answer that question without a video sample.

Quote:
Originally Posted by mlesic View Post
For now qtgmc dont work, noise remover error.
What does "don't work" mean?
In Avisynth or VirtualDub there is no such message as "noise remover error".

Quote:
Originally Posted by mlesic View Post
But my athlon x2 5600+ 2.6Ghz is a bit slow I see.
It would be relatively slow, but not as slow as my 2007 2.0GHz Athlon. Many users have even slower machines.
Reply With Quote
  #8  
10-05-2018, 01:14 AM
mlesic mlesic is offline
Free Member
 
Join Date: Oct 2017
Posts: 16
Thanked 0 Times in 0 Posts
Thank you for detail explanation!
Final product video h264 will have bitrate. Thats why I ask.
Capture files are 30gb per hour. But I ask in relation to final product h264. I will not burn dvds. Dont have dvd player. Dont have dvds at all. If I benefit from 50fps than great. Im not home now, bit error was writen mentioning Noise Remover plugin. Someone said that it needs replaced with 1b version which I cant find. Uploading tonight sample video and screenshot.

Video I get is ok, but colour "dance" a bit, like noise. It is not stabile. Must upload example. Also there is a lot of "video effect" of freezed frame during tape...person that created it used that often to stop picture for 5 sec...now it looks like jumping nonsence.

I like avisynth. When you can write some lines and get result. Same as linux. No clicking arount. Dont like not knowing what is in background --when error stop proces.

Edit: Script error: there is no function named "RemoveGrain"
Not noise remover, sorry.

Last edited by mlesic; 10-05-2018 at 01:25 AM.
Reply With Quote
  #9  
10-05-2018, 01:46 AM
lordsmurf's Avatar
lordsmurf lordsmurf is offline
Site Staff | Video
 
Join Date: Dec 2002
Posts: 10,320
Thanked 1,778 Times in 1,545 Posts
Quote:
Originally Posted by mlesic View Post
Im trying to find some example of workflow or script with normal settings.
VHS has 4 main problems:
- unstable timing; use TBC, cannot fix with software
- chroma noise/offset; fix with software, chromashift() in Avisynth, CCD in VirtualDub, partly addressed by S-VHS VCR with TBC
- grain; fixed partly by VCR, mostly by Avisynth (to lesser extent, VirtualDub)
- overscan noise to mask (not crop)

Everything else is not really common. It's case by case. Now, I've written a MultiScript, but it needs a guide and education, which isn't yet done.

Quote:
I want to deinterlace
Understand that deinterlace, even the best QTGMC, sacrifices quality. Only do it when you must.

Quote:
Originally Posted by sanlyn View Post
a short sample of of a typical capture.
^ This -- aka the reason we allow attachments on posts.

Quote:
but if you intend to do even basic cleanup you should be capturing to lossless YUY2 using huffyuv or Lagarith compression.
^ And this. Worth repeating!

Quote:
The VCR is a problem, with no line tbc. Scanline timing errors make a lot of noise, with bent and/or notched and ragged borders and edges, warped verticals and ripples across frames. Jitter is also a problem with entry-level VCRs. Scanline errors cannot be corrected after capture.
^ And this.

Quote:
I suggest that you shouldn't discard your tapes after capturing.
^ And this.

Quote:
Why? Can't your media players and TV deinterlace? Do you deinteralce your DVD's and TV shows before watching them? Your players and TV can deinterlace far better than you can with software unless you're willing to learn to use Avisynth's QTGMC and other plugins. Otherwise nothing looks worse than typical, sloppy software deinterlacing.
^ And this. A perfect reply.

Quote:
I see if you want it done good - must do it yourself. For example I gave photo negatives to photo store to scan - 1 photo is less then 1mb...redicoulus. I said them I want raw, to edit...What can I do with that...Less than 1Mp photo...facebook quality
Terrible. It happens too often.

Quote:
Originally Posted by mlesic View Post
I found some pro service - must try to send them 1 VHS tape to check how it goes.
Who is it? I'm aware of good services (our competitors), and hacks/quacks that spread myth and BS and should be avoided (not competitors, just noise). Hint: Always vet the hardware and workflow process. If they won't tell you, run. If it's generic Walmart / Best Buy type stuff, run again.

Quote:
Originally Posted by mlesic View Post
Few questinos for virtualdub:
1. What filters are used on deinterlaced and what on interlaced video best?
For VirtualDub, use only Yadif. But QTGMC is Avisynth is better, Yadif is old method. Yadifmod somewhere between QTGMC and Yadif., but also Avisynth.

Quote:
2. What to do in seperate next pass best or stack it all in one pass?
Order matters. Sometimes you can "stack" (not really a stack, again in order), sometimes not. You'll have to save as lossless intermediary when not.

Quote:
3. Is it important yuy2 or yv12 for filters?
Must be Avisynth question here. You have to use what the filter requires, You rarely a have a choice here. You may change colorspace 2-3 times in a script. It's not bad, just what's required.

Quote:
4. What is "maxed out" bit rate for VHS? 8000 for 720x576? I can see someone saying 2Mbps, or 5 is more than enough...but 8 is max teoretical. Above is placebo. Handbrake 18 setting...
You question doesn't make sense, obvious mishmash of info here.
- For DVD-Video, 5mbps gave about 2 hours per disc.
- The max spec was 9.8mpbs/10.08mbps.
- For 1 hour, about 8mbps.
- For 3 hours, about 3.5mbps, and for 4 hours about 2.5mbps.
But that was DVD.
For H.264 (aka Handbrake, which BTW isn't all that great; Hybrid best, Avidemux better), use a CRF mode, not bitrate. The mode depends on content and source quality. Sometimes you can get away with higher 22-26 type compression, while sometimes 15-21 is needed.

Quote:
5. Handbrake wants to cut dark masked area 12-20pixels each side ( so thats no more 720x576...it is best to leave that ratio and size? Margins! Watching od plazma, computer, smartphone...
Handbrake is stupid software that treats you stupid. The software is double stupid. For one thing, for streaming, you need to resize it to a 4:3 aspect on output (720x540 or 640x480). 720x576 will look weird and wrong, because it is, a 5:4 aspect. You don't crop anything, you mask with black. If you crop and stretch, you'll make a mess.

Quote:
6. Same as above - what size of file should I get? 1h VHS? 1GB is more than ok?
This question cannot be answered. (And anybody that does "answer" it doesn't know jack about video!) Size is about bitrate, and you need adequate bitrate for the compression.

Note: Lossless, and lossy (DV, ProRes422), does have approximate sizes, in the 13gb/hour (DV) to 40gb/hour (everything else) range. I'm not talking about these capture formats, but the final delivery encodes in MPEG/H264/265/etc.

Quote:
7. Leave doubled framerate? Or that is placebo which increase filesize.
Mostly placebo. For Youtube, and streaming, I sometimes let QTGMC just interpolate it to 50/59.94fps. But the offset is double size for lossless, and maybe 25-50% more for compressed.

Quote:
8. Virtualdub is working 21fps (cca 1.5h for 30min VHS) deinterlace, temp smoth and mask. How slower would be avisynth qtgmc? For now qtgmc dont work, noise remover error. But my athlon x2 5600+ 2.6Ghz is a bit slow I see.
Avisynth+ x64 with only QTGMC is much faster, using my i7-6700k.
Also don't necessarily use slowest preset, faster is often fine. Learn about what the presets mean on the Avisynth wiki.

Quote:
Originally Posted by sanlyn View Post
VHS doesn't have bitrate. VHS doesn't have bits or pixels.
Of we assume MPEG-2, then the approximate bitrate digital equivalent would be in the 15-30mbps range, using 422 profile. If H.264, then max CRF 15.

Resolution is about 250x480 / 250x576 (or 335x480/576 if you worship Kell factor, which I do not; nice for test patterns, but not really in practical application).

Quote:
MPEG for DVD max birate is 9200kbps including headroom for audio.
9.8 or 10.08, depending on the audio codec/specs.
9.2 is just some authoring software.

Quote:
There is no official DVD minimum bitrate but many players will choke if playback bitrate falls below 2000.
Below that, the VCD 1.1mbps is another fall-off point. And to be honest, I've never really bought into the "2mbps is the minimum", and think it's myth from the 90s. Working professionally, I never heard that, and would have to bitrate analyze at times. Video commonly fell below 2mbps for some frames in the GOP. Plus the fact that DVD recorder has 6/8-hour modes, requiring VCD-like specs to encode.

Quote:
High quality DVD mainstream bitrate is usually 6000 to 7000 target with 8500 max using 2-pass encoding.
And dual layer discs, not singles.

Quote:
h.264 and MPEG for standard definition BluRay and AVCHD have similar but somewhat wider bitrate limits, but maximum GOP sizes differ for BluRay and AVCHD. Motion, greater detail, and noise require higher bitrates.
I've not used bitrates for H.264 for several years now. Everything is constant rate factor (CRF), including everything from MainConcept/TotalCode (pro software) to x264 (and GUIs).

Quote:
If you insist on using low-tier software like Handbrake, I'm afraid you'll have to live with what it does to your videos. Avisynth doesn't mask borders or image areas, it has many ways to manipulate borders and other frame elements without destructive masking.
Masking = covering with black.
Cropping = cutting it off, messing with interlace and potentially-unwanted resize in the process.

Quote:
Many movies are created at anywhere from 15 to 24 frames per second and various patterns of duplicate frames and fields are inserted to maintain 25fps playback.
Because of you, I always check IVTC before deinterlace now.
Thanks.

Quote:
If it is true, as you say, that "human can hardly see more than 25fps", why would you want double frame rate? By the way, that statement is not true.
This is one of those misunderstood statements. I think the reference is about discreet images, which overlooks secondary noticing of the motion. A case of "I can't see what's wrong, but I know something is wrong". And in fact, it's more like people can't see more than 12-18fps, but again, just discreet images. Not motion, especially not anything interruptive (like judder).

Quote:
It would be relatively slow, but not as slow as my 2007 2.0GHz Athlon. Many users have even slower machines.
I have deinterlaced with a Intel E8400 (dual core, 3.0ghz), and it's not much fun. Even that fast CPU from the early 2010s chews slowly on Avisynth scripts. Many, many times slower than my current system.

.... Well that was a long and fun reply.

- Did my advice help you? Then become a Premium Member and support this site.
- Find television shows, cartoons, DVDs and Blu-ray releases at the TVPast forums.
Reply With Quote
The following users thank lordsmurf for this useful post: JPMedia (10-05-2018), mlesic (10-05-2018)
  #10  
10-05-2018, 02:34 AM
mlesic mlesic is offline
Free Member
 
Join Date: Oct 2017
Posts: 16
Thanked 0 Times in 0 Posts
Thank you. Fun to read also. I read a lot topics but must put it in order, workflow.
Reply With Quote
  #11  
10-05-2018, 04:30 AM
hodgey hodgey is online now
Free Member
 
Join Date: Dec 2017
Location: Norway
Posts: 957
Thanked 219 Times in 187 Posts
Quote:
Originally Posted by mlesic View Post
Thank you for detail explanation!
Edit: Script error: there is no function named "RemoveGrain"
Not noise remover, sorry.
This error suggests that you are missing the RgTools avisynth plugin.
You can check here for what plugins are needed for QTGMC.
Getting everything set up can be a bit of a hassle, but avisynth is extremely powerful and can produce amazing results.
Reply With Quote
The following users thank hodgey for this useful post: mlesic (10-05-2018), sanlyn (10-05-2018)
  #12  
10-05-2018, 06:06 AM
sanlyn sanlyn is offline
Premium Member
 
Join Date: Aug 2009
Location: N. Carolina and NY, USA
Posts: 3,648
Thanked 1,227 Times in 968 Posts
I will echo hodgey, from the post above: collecting Avisynth's filters and support files does take some time. The same is true of VirtualDub, which offers hundreds of filters. Fortunately you don't need all of them to accomplish a lot of good work. Most of them are special-purpose plugins.

Earlier in this thread I posted links to several posts that have other links to important Avisynth and VirtualDub downloads. One link is VirtualDub border masking? (not cropping!), which has other links for several filters. In particular, a complete set of every filter needed for QTGMC with instructions for loading them and a complete .zip file of documentation is in that post. The complete set for QTGMC can be downloaded here at digitalfaq by clicking this link: http://www.digitalfaq.com/forum/atta...g-qtgmc_newzip.

There are more links posted here in this current discussion at post #11 (Avisynth deinterlace, improve some quality, VHS captures?).

Dozens of Avisynth and VirtualDub filters have been posted in the forum. Most users download them as the need for them arises. Also, if you post samples of the kinds of video problems you're having, we can provide specific links and information for filters you might need.

If you need information about how to prepare and post samples, just ask.
Reply With Quote
The following users thank sanlyn for this useful post: mlesic (10-05-2018)
  #13  
10-05-2018, 09:15 AM
Bogilein Bogilein is offline
Free Member
 
Join Date: May 2016
Location: Bavaria
Posts: 144
Thanked 43 Times in 34 Posts
My recommendation is to download "Hybrid" from Selur. It has all the avisynth plugins included and you don't need to search the web for all the dll,avsi.... files.

After you have install the programm you'll find in the hybrid folder the avisynth plugins folder.

Now you can use Hybrid or Virtual dub or any other tool to encode your files with avisynth.

My second recommendation is to load your file in hybrid. Make your settings for the avisynth plugins you'll use (for example QTGMC or.....) and now you can watch the avisynth script file which shows you what plugins are used. Copy this script file and save it. Now you can open the avisynth script file for example with Virtual Dub.
Another nice feature is that hybrid explained most settings for the avisynth plugins.
Reply With Quote
  #14  
10-05-2018, 10:02 AM
mlesic mlesic is offline
Free Member
 
Join Date: Oct 2017
Posts: 16
Thanked 0 Times in 0 Posts
40sec and 20 sec. I cut it fast 30min video...over smartphone teamviewer...

https://www.dropbox.com/sh/th0ig2hl2...PJOdwyGYa?dl=0
Reply With Quote
  #15  
10-05-2018, 11:36 AM
sanlyn sanlyn is offline
Premium Member
 
Join Date: Aug 2009
Location: N. Carolina and NY, USA
Posts: 3,648
Thanked 1,227 Times in 968 Posts
Thank you for your samples. Please note that if your samples disppear from DropBox, they will no longer be available for the forum.

Quote:
Originally Posted by mlesic View Post
40sec and 20 sec. I cut it fast 30min video...over smartphone teamviewer...
Sorry, but I don't understand what you're saying here. Are you playing or transferring the samples from a smartphone?

Does your video start and stop the way they do in the samples, or did you start and stop during capture??
Reply With Quote
  #16  
10-05-2018, 11:56 AM
mlesic mlesic is offline
Free Member
 
Join Date: Oct 2017
Posts: 16
Thanked 0 Times in 0 Posts
I cut here and there. To change scenes. Random. Over smartphone via teamviewer on my pc. Selected different scenes, cut and save avi in vietualdub. Video is 33min long. Like home video, under tree, on yard, some movement with ball... no indor scenes. If scene is stoped on one frame - that is "effect". Same as slow motion...must cut that out. It is ugly.
Reply With Quote
  #17  
10-05-2018, 01:00 PM
sanlyn sanlyn is offline
Premium Member
 
Join Date: Aug 2009
Location: N. Carolina and NY, USA
Posts: 3,648
Thanked 1,227 Times in 968 Posts
Quote:
Originally Posted by mlesic View Post
If scene is stoped on one frame - that is "effect". Same as slow motion...must cut that out. It is ugly.
True, it's ugly as well as unnecessary. It creates severe problems in captured frames that follow the cut, as well as audio dropouts. Editing after capture is easier and faster.


I will review your samples today and make suggestions later.
Nice looking family. Italiano?
Thanks again.
Reply With Quote
  #18  
10-05-2018, 02:11 PM
mlesic mlesic is offline
Free Member
 
Join Date: Oct 2017
Posts: 16
Thanked 0 Times in 0 Posts
Thanks. Croatian, but geographicaly very close... Any advice is great. As I said, it is important to make memories alive again, not quality and perfection... But, I want It to get as good as it gets (until I find better capture device).
Reply With Quote
  #19  
10-06-2018, 07:27 PM
sanlyn sanlyn is offline
Premium Member
 
Join Date: Aug 2009
Location: N. Carolina and NY, USA
Posts: 3,648
Thanked 1,227 Times in 968 Posts
I used a few ideas today to make some improvements in your samples. It's very late here in North Carolina USA, so after a nap tonight I'll format some demonstrations and filter suggestions and make them presentable for posting. Sorry for the delay, it has been a very busy day.

-- update --

It would be to your advantage to find a better playback system for these samples. Overall the color and signal levels are good. Color is also good -- some shots in angular sunlight in late or early day are rather contrasty, but that's always true of such lighting and the somewhat warm color in those scenes looks natural, if not slightly over saturated. But the playback defects are quite serious and some of the noise is simply not normal. Those disturbances require strong filtering which unavoidably has a high cost in lost detail. The absence of time base correction makes the situation worse.

For the benefit of readers, the attached "A-mislav2_unfiltered.mp4" is an unaltered version of the original mslav2.avi. The scanline and playback errors are obvious. I would suggest that there must be a cleaner way to get old smartphone videos onto your computer. Smartphone video is digital to begin with. They should be copied 1:1, not re-recorded and captured. Perhaps members here can suggest a better way.

The image below is an original frame from mislav1.avi. It shows one of the effects of scanline errors without a proper tbc. The white errors in the image indicate how the side borders are warped toward the left at the top of the frame. The warp affects the entire image, not just the borders. The image shows that bad scanline timing has the top lines arriving "slower" than the bottom lines. This cannot be corrected after capture.

top of image warped toward left side


The attached "C-mislav1_8fps.mp4" is an unfiltered segment from mislav1.avi. The video is slowed to 1/3 the original frame rate (8 frames per second). The mp4 clearly shows the warp and ripple distortion that results from serious scanline errors. Also clearly shown are the chroma and cross-hatching noise from poor playback. These can be only partially corrected, if at all.

The attached "D-mislav2_8fps_left border.mp4" isolates a portion of the left border from mislav2.avi, running at 8fps. The mp4 illustrates the wiggles and notches in the left border, and warp distortion in other elements of the frame, not to mention serious chroma errors and flutter.

The image below is an unfiltered portion of two consecutive frames from the original mislav2.avi. The two frames illustrate why the chroma "flashing' in mislav2.avi isn't possible to correct without a frame-by-frame method that would take forever. The left frame shows strong cross-hatching and smeared, over saturated red. The right-hand frame shows why the flicker and flashing can't be corrected -- the red channel periodically has a dropout and tries to turn green at irregular intervals.

Chroma loss and flashing (2 consecutive frames)


Perhaps someone can suggest a better way to get those videos onto your computer.


Attached Images
File Type: jpg B- top of image warped toward left.jpg (60.2 KB, 266 downloads)
File Type: jpg E- Chroma loss and flashing.jpg (61.1 KB, 264 downloads)
Attached Files
File Type: mp4 A-mislav2_unfiltered.mp4 (10.89 MB, 11 downloads)
File Type: mp4 C-mislav1_8fps.mp4 (6.41 MB, 5 downloads)
File Type: mp4 D-mislav2_8fps_left border.mp4 (4.10 MB, 4 downloads)
Reply With Quote
The following users thank sanlyn for this useful post: msgohan (01-20-2020)
  #20  
10-06-2018, 08:20 PM
sanlyn sanlyn is offline
Premium Member
 
Join Date: Aug 2009
Location: N. Carolina and NY, USA
Posts: 3,648
Thanked 1,227 Times in 968 Posts
Considering the horrible playback problems, you have very limited expectations for final output. In most circumstances these captures would be considered unworkable. Most people would simply say that you should get better captures and save yourself some grief. But you seem determined to use them anyway, so I'm suggesting a few ideas that would make limited improvements, more or less. The results will be far from ideal.

The images below are before-and-after comparisons of the input image and the filtered image.



In the picture above, the left hand image is from the original unfiltered frame. Note the blue chroma bleed and overrun on the blue shirt sleeve. There is also color overrun on the boy's shoulder and arm. In the skin tones, note the mottling, grain, and clumpy mosquito noise on the arms and on the boy's shirt. The right-hand image shows the results of filtering with Avisynth and VirtualDub. The Avisynth plugins used were QTGMC with dfttest denoising, RemoveDirtMC, ChromaShift, and aWarpSharp2. The VirtualDub plugins used were Color Camcorder Denoise ("CCD"), SmartSmoother HiQuality by KlaUS post, and MSharpen by Donald Graft. Later, in the discussion below, I'll go into detail about these filters and the workflow.



In the picture above, the left-hand image is from the original unfiltered frame. The cross-hatching and chroma dropouts are typical for these captures. These defects are not normal. They shouldn't exist. The cross-hatching looks worse due to over sharpening in the player. The right-hand image shows the results of filtering. The same filters described above were used. The green chroma pumping couldn't be fixed entirely, but probably most viewers won't notice.

Scripts and filters applied to mislav1.avi

Code:
Import("D:\Avisynth 2.5\plugins\RemoveDirtMC.avs")
Import("D:\Avisynth 2.5\plugins\LimitedSharpenFaster.avs")

AviSource("E:\forum\faq\mlesic\mislav1.avi")
Trim(last,0,300) + Trim(last,506,663) + Trim(last,946,0)

AssumeTFF()
ConvertToYV12(interlaced=true)
QTGMC(preset="very fast",EZDenoise=6,denoiser="dfttest",\
  ChromaMotion=true,border=true,ChromaNoise=true,\
  DenoiseMC=true,GrainRestore=0.3,sharpness=0.75)
vinverse2()
RemoveDirtMC(30,false)
ChromaShift(L=-2)
MergeChroma(aWarpSharp2(depth=20).aWarpSharp2(depth=10))
LimitedSharpenFaster(edgemode=2)
addGrainC(1.25,1.25)
Crop(6,0,-14,-10).AddBorders(10,4,10,6)
ConvertToRGB32(interlaced=false,matrix="Rec601")
return last
The details:

Import("D:\Avisynth 2.5\plugins\RemoveDirtMC.avs")
Import("D:\Avisynth 2.5\plugins\LimitedSharpenFaster.avs")

The Avisynth Import() function is used to load the code for two plugins, RemoveDirtMC.avs and LimitedSharpenFaster.avs. The plugins are in script form rather than compiled as .dll's. Many popular Avisynth filters are published as .avs scripts. Often this is done because there are multiple versions of some plugins, and parts of the internal code are the same as code used by other filters. Loading multiple copies of the same code causes errors. But importing only the desired code from an .avs script avoids that problem.

Avisynth plugins appear in three forms: .dll, .avsi, and .avs. Compiled .dll's and .avsi files are automatically loaded when a script calls for them. But .avs filters must be explicitly imported with the Import() function, unless you're willing to copy the entire text of the .avs filter into your own script. It wouldn't be a good idea: some .avs filters are hundreds of lines of code.

Note that the path statements for the location of the .avs plugins is "D:\Avisynth 2.5\plugins\". You must modify that path statement to match the location of Avisynth plugins in your system.
Import() function: http://avisynth.nl/index.php/Internal_functions#Import

AviSource("E:\forum\faq\mlesic\mislav1.avi")
Trim(last,0,300) + Trim(last,506,663) + Trim(last,946,0)

The AviSource() function is used to open and decode the video. Again, you should modify the path location to match locations in your system. The Trim() functions are chained together with "+" symbols and joined as a single stream of video segments. These Trim statements select only the smooth flowing frames of the sample, thus discarding the "stopped" segments of frozen frames. The term "last" refers to "the last video stream mentioned" in a previous statement, meaning that it refers to the video that was opened and decoded in the AviSource statement.

You can also do this editing in VirtualDub or another editor that can handle lossless files.
AviSource(): http://avisynth.nl/index.php/AviSource
Trim(): http://avisynth.nl/index.php/Trim

AssumeTFF()
ConvertToYV12(interlaced=true)

The Avisynth default field order priority is Bottom Field First (BFF). Unfortunately that will yield incorrect results if you deinterlace a video whose field order is Top Field First (TFF), and the output will have back-and-forth motion stutter. AssumeTFF() overrides the default and assumes that everything that follows will be TFF.

ConvertToYV12() converts the YUY2 video to a YV12 colorspace. It's a good idea to let Avisynth do this because Avisynth does it correctly (many NLE editors aren't so careful, including Adobe). Note that with these conversions you must indicate whether or not the video stream is interlaced. Yes, it matters. Otherwise just about anything will be assumed and your chroma channels will be a mess. YV12 will be needed for the filters that follow. Some of the filters will also work in YUY2, but it's a poor idea to jockey back and forth between different colorspaces. Better to do it just once.

QTGMC(preset="very fast",EZDenoise=6,denoiser="dfttest",\
ChromaMotion=true,border=true,ChromaNoise=true,\
DenoiseMC=true,GrainRestore=0.3,sharpness=0.75)
vinverse2()

In the QTGMC statement, the "\" symbol is used to concatenate multiple lines of code. It's known as the line-continuation symbol. QTGMC, the premiere deinterlacer, is used here to deinterlace and output 50fps progressive video. The "very fast" preset is specified to set up many of QTGMC's default operations. QTGMC is also used for some denoising and for shimmer and motion correction. The dfttest plugin, which is supplied with the QTGMC package, is specified for basic denoising with an EZDenoise strength of 6, and it's also a stand-alone filter in its own right.

The other parameters in the QTGMC statement will override some QTGMC defaults and activate some others. Motion compensation is enabled to include chroma (ChromaMotion), ChromaNoise cleaning, MotionCompensated denoising (DenoiseMC), a small amount of GrainRestore to prevent over-filtering effects, sharpness at 75% to prevent over sharpening effects, and border=true to resize borders in such a way as to prevent split or fluttery borders.

vInverse2() has a special algorithm and tweaker to help calm excessive interlace combing effects. In this case it's optional, but it does make an interlaced final version look cleaner.

vInverse2 is available here: http://avisynth.nl/index.php/Vinverse. The version you want is the
"x86" (32-bit) version. This plugin and many others also require the 2012 VisualC++ runtime. A link for the x86 version of the runtime is on the download page. But the same runtime link is also available in the QTGMC package, which is at http://www.digitalfaq.com/forum/atta...g-qtgmc_newzip. Not only does the .zip contain all the support files you'll need, it also has stand-alone filters that you will use elsewhere, especially in this project.

RemoveDirtMC(30,false)
ChromaShift(L=-2)
MergeChroma(aWarpSharp2(depth=20).aWarpSharp2(dept h=10))

RemoveDirtMC is an all-around favorite cleaner that works on floating tape noise and mild mosquito noise and grain, and has even been used to clean spots and dropouts. Here its strength is set at a midstream 30, but when used over 40 it can make some moving objects disappear. The "false" parameter tells RemoveSpotsMC that this video isn't grayscale. ChromaShift is used to lift displaced or bleeding chroma upward by 2 pixels. aWarpSharp2 is used to constrict noise around edges, especially color stains that tend to bleed into other areas. MergeChroma is used to limit aWarpSharp2 to working on chroma only.

Get RemoveDirtMC.avs at this link: http://www.digitalfaq.com/forum/atta...emovedirtmcavs. You'll also need mvTools2, RemoveDirt.dll, and Removegrain (or RgTools), which are all included with QTGMC. You also want to look at this post: Fix for problems running Avisynth's RemoveDirtMC

the ChromaShift plugin is at http://www.digitalfaq.com/forum/atta...romashift27zip.

The aWarpSharp2 download page is at http://avisynth.nl/index.php/AWarpSharp2. The filter requires the Microsoft VisualC++ 2015 x86 runtime, which has a link on the aWarpSharp2 page -- but the same link is already included in the QTGMC package.

MergeChroma and other Merge() functions: http://avisynth.nl/index.php/Merge

LimitedSharpenFaster(edgemode=2)
LimitedSharpenFaster.avs has several versions, but the long-time favorite is at http://www.digitalfaq.com/forum/atta...arpenfasterzip. It also requires MaskTools2 and RemoveGrain, which are included with QTGMC (see earlier links for the QTGMC package). The "edgemode=2" parameter tells the filter not to sharpen edges, in order to avoid edge halos.

addGrainC(1.25,1.25)
Crop(6,0,-14,-10).AddBorders(10,4,10,6)

AddGrainC adds a mild amount of very fine film-like grain to mask hard edges in smooth areas such as skin tones and to avoid an over-filtered "plastic" look. This plugin is part of the QTGMC package.

Crop(6,0,-14,-10) removes border pixels in this order: 6 pixels from the left border, zero pixels from the top, 14 pixels from the right border, and 10 pixels from the bottom. The side borders bound the usual SMPTE image in the central 704-wide pixels of the image. Although the original right border is really 9 wide at the bottom of the frame, it warps to 14 pixels wide at the top. This is the only crop that actually cuts into the image by 4 pixels, but the warp at the top of each frame is really ugly and should be removed. AddBorders(10,4,10,6) restores the original frame size of 720x576 and centers the core image in the frame by adding black borders as follows: 10 pixels at the left border, 4 pixels along the top border, 10 pixels to the right border, and 6 pixels across the bottom. On any TV, black borders blend in with the display's black background. Since most modern TV's still use overscan by default, the borders won't be seen anyway.
Rules for the Crop() function (please read this!): http://avisynth.nl/index.php/Crop
AddBorders(): http://avisynth.nl/index.php/AddBorders

ConvertToRGB32(interlaced=false,matrix="Rec601")
return last

The colorspace is converted to RGB for the VirtualDub filters that will be used. Yes, you must specify if the video is interlaced or not. At this point after QTGMC the video is not interlaced. The color system matrix for standard definition video is stated as "Rec601". The last statement in the script is "return last", which simply means "output the last thing you just performed", which was the conversion to RGB32.

Now, what about those VirtualDub filters I mentioned?

When you are running an Avisynth script in VirtualDub, you are allowed to load VDub filters into its filter chain. You must use "full processing mode" or the filters won't take effect. Because running VDub filters involves an automatic RGB conversion if you haven't done it already, you are still allowed to specify a color depth and a compressor for output if you don't want RGB after the filtering is done.

In this case I loaded three VirtualDub filters and specified an output video color depth of YV12 and an output compressor of lossless Lagarith. Why? If the next step is encoding for your final output, the encode is going to be Yv12 anyway. You might as well let VirtualDub make that output conversion after its filters are applied.

By the way, you will need the Lagarith lossless compressor. Its free, and everyone's media player can decode it. The reasons for its use are that it make slightly smaller files than huffyuv (although huffyuv is still more efficient for capture), and because huffyuv can compress only YUY2 and RGB. Huffyuv can't compress YV12, but Lagarith can handle RGB, YUY2, and YV12. Lagarith's installer is simple: just double-click it and it's there in a few seconds. Get Lagarith here: https://lags.leetcode.net/codec.html.

The three VirtualDub filters I used were Color Camcorder Denoise (ccd.vdf), Smart Smoother HiQuality (SmoothHiQ.vdf), and MSharpen (MSharpen.vdf).

Color Camcorder Denoise ("CCD") is attached as ccd_v1.7.zip.
ccd_v1.7.zip

SmartSmoother HiQ and MSharpen are each attached to this post.

The attached SmartSmoothHiQ.zip contains the .vdf filter plus a "SmartSmootherHQ.htm" file and a subfolder named "SmartSmootherHQ_files". You should copy everything -- the .vdf, the .htm, and the subfolder -- into your VirtualDub plugins folder. What are the htm and the subfolder for? They are the help files that will display when you click the "help" button in the filter's setup dialog window.
SmartSmootherHiQ.zip

The attached MSharpen.zip contains the MSharpen.vdf filter and MSharpen.html. The html is the online Help file. Copy the .vdf file and the .html into your VirtualDub plugins folder. When you load the filter in Virtualdub and click "Help" on the filter's dialog setup window, the html will display inbstructions.
MSharpen.zip

In order for you to use exactly the same VDub filter chain and settings I used to create the output files, I have attached "VDub_settings.vcf". A .vcf is a file of saved VirtualDub process settings. Download the .vcf file and save it somewhere (do not save it in your plugins folder). When you open VirtualDub, click "File.." -> "Load processing settings", and locate the saved .vcf file. When the .vcf is selected and opened, VirtualDub will load the three filters exactly as I used them.

All three .vdf plugins described above must be in your VDub plugins folder or the .vcf will simply display errors.

The output of this processing was saved as Lagarith Yv12 with the file name "mislav1_filtered.avi"

Scripts and filters applied to mislav2.avi

Filters for processing mislav2.avi ran very slowly when chained in a single script, so I elected to filter the video usng two scripts. Script #1 was named "mislav2_Step1". It produced an avi named "mislav2_Step1.avi" and was saved as YV12 using Lagarith compression.

script #1:

Code:
Import("D:\Avisynth 2.5\plugins\RemoveDirtMC.avs")

AviSource("E:\forum\faq\mlesic\mislav2.avi")
Trim(212,547)
Tweak(startHue=85,endHue=165,sat=0.85,dither=true,coring=false)

AssumeTFF()
ConvertToYV12(interlaced=true)
QTGMC(preset="very fast",EZDenoise=6,denoiser="dfttest",\
   ChromaMotion=true,border=true,ChromaNoise=true,\
   DenoiseMC=true,GrainRestore=0.3,sharpness=0.75)
vInverse2()
RemoveDirtMC(30,false)
return last
details:

When running this script in VirtualDub, there are no VDub filters loaded. Follow these steps to set up Virtualdub output for this script:
* Set "Video..." -> "color depth" to "YV12".
* Set "Video..." -> "compression..." to Lagarith lossless compression.
* configure Lagarith for YV12 output.
* set "Video..." -> processing mode to "fast recompress". Save the file as "mislav2_Step1.avi".

You've seen this same or similar code in the previous script, but there are two new statements that mightv seem unfamiliar:

Trim(212,547)
Tweak(startHue=85,endHue=165,sat=0.85,dither=true, coring=false)

The Trim() function is used to discard the starting and ending frames, which are the bad frames and "stopping" points that can't be used. Tweak() is used to help calm some of the red and red-yellow bleed and oversaturation. The startHue and endHue values designate the red and red-yellow segment of the color spectrum in YUV. You can see the numeric values of color ranges in the tables and graphs of the Wiki page that documents the Tweak command at http://avisynth.nl/index.php/Tweak. The "sat" parameter in Tweak() manages saturation levels, which here are lowered to 85% of normal, just enough to stop a little of the red chroma bleeding.

The YV12 Lagarith output from Script #1 is then used as input for Script #2, which I named "mislav2_Step2.avs".

script #2:

Code:
Import("D:\Avisynth 2.5\plugins\LimitedSharpenFaster.avs")
Import("D:\Avisynth 2.5\plugins\santiag_v16.avs")

AviSource("E:\forum\faq\mlesic\mislav2_Step1.avi")
ChromaShift(L=-2)
MergeChroma(TTempSmooth(maxr=7,strength=6))
fft3dfilter(sigma=2, sigma2=4, sigma3=5, sigma4=45, plane=3)
santiag(2,2)
MergeChroma(aWarpSharp2(depth=20).aWarpSharp2(depth=10))
LimitedSharpenFaster(edgemode=2)
addGrainC(1.25,1.25)
Tweak(sat=1.1,dither=true,coring=false)

Crop(6,0,-14,-10).AddBorders(10,4,10,6)
ConvertToRGB32(interlaced=false,matrix="Rec601")
return last
details:

Again, you've seen most of this same code or similar statements earlier. I'll cover details on some differences:

MergeChroma(TTempSmooth(maxr=7,strength=6))
fft3dfilter(sigma=2, sigma2=4, sigma3=5, sigma4=45, plane=3)

These two statements and filters are an attempt to calm some of the red chroma "flashing" and blinking and color dropouts that occur in mislav2.avi. They don't solve the problem completely. Consider them optional, but they do help calm things slightly.

TTempSmooth is a temporal smoother often used to help smooth periodic luma or chroma "pumping" found in misbehaving AGC camera exposure circuits. It isn't a cure-all, but it is a good temporal smoothing filter. Here, it's used at its maximum "maxr" or radius value (meaning that it averages differences in chroma pumping over a range of 15 frames). TTempSmooth is applied to chroma-only by using MergeChroma() -- if this high value was applied to luma the video would be badly blurred. You can get the TTempSmooth plugin at its home page, http://avisynth.nl/index.php/TTempSmooth.

fft3dfilter is a temporal denoiser, used here at very high sigma values to help curb some of the hysterical red blinking. Of course it's not extremely effective because it's not that red is actually blinking, it's that red in the toy tractor is actually trying to turn green. However, fft3dfilter also helps clean up a lot of chroma noise and blotching. The "plane=3" value tells the filter to work only on chroma, not on luma. Fft3dfilter is supplied with the QTGMC filter package as "FFT3D".

santiag(2,2)
Santiag() is an anti-aliasing plugin designed to smooth sawtooth edges. It also tends to slightly soften cross-hatching but doesn't eliminate it. Cross-hatching is so severe in this video that it often gives sawtooth edges to curved lines. Santiag doesn't solve the problem completely, but it helps with the interlaced version of the output. The strength value of (2,2) could be stronger but it would greatly soften other elements of the image. Santiag_v16.zip can be downloaded at http://www.digitalfaq.com/forum/atta...1&d=1531442483.

Its home page and documentation are at http://avisynth.nl/index.php/Santiag. The plugin also requires MaskTools2, NNEDI3, EEDI2, and EEDI3. And as you might guess, all of these support plugins are available with the QTGMC package. An optional requirement is SangNom2, but you can ignore that -- it's highly unlikely that you would ever use it.

Tweak(sat=1.1,dither=true,coring=false)
This additional tweak() statement near the end of the script is used to repair some of the lowered saturation caused by TTempSmooth and fft2dfilter. The increase value of "sat=1.1" is a very mild saturation increase that affects all colors.

Three VirtualDub filters were loaded and applied to the output of Script #2. They are the same VirtualDub filters discussed earlier and can be loaded with the same attached "VDub_settings.vcf" file. I saved the output of this script as Lagarith YV12 because it went straight to my mp4 encoder after filtering.

The results of these scripts and filters are attached as "mislav_1and2_50p.mp4". It has mislav1 and mislav2 joined together in one mp4 and is 50fps progressive for PC or external drive and TV playback. Also attached is an .mpg DVD-encoded version at 25fps interlaced, "mislav_1and2_25i_DVD.mpg".

You might ask, how do you create an interlaced version of the 50fps progressive output? I did that by creating a lossless interlaced version of the 50fps .avi files. I used a script to join together "mislav1_filtered.avi" and "mislav2_Step2.avi", re-interlaced them together, and saved the output as Lagarith YV12 for the encoder. Remember, the two output files involved were earlier saved as Lagarith Yv12 output.

Code:
vid1=AviSource("E:\forum\faq\mlesic\mislav1_filtered.avi")
vid2=AviSource("E:\forum\faq\mlesic\mislav2_Step2.avi")
vid12=vid1+vid2
vid12
AssumeTFF()
SeparateFields().SelectEvery(4,0,3).Weave()
return last
details:

The script uses AviSource to open each of the two input files. Each file is given a name that I invented to identify them. You can invent your own names for things as long as the names don't conflict with real-life function or filter names. I named the two files "Vid1" and Vid2" respectively.

vid12=vid1+vid2
vid12

I invented a new name of "vid12" and used it to hold the contents of vid1 and vid2 joined together with the "+" symbol (technically known as an "unaligned splice"!). Then, on a separate line, I type the name of the new video file, "vid12", and this line shifts the focus of operations onto the new vid12 video. The statements that follow this line will be applied to vid12.

AssumeTFF()
SeparateFields().SelectEvery(4,0,3).Weave()
return last

AssumeTFF() overrides the BFF default and defines the field order priority for the operations that follow. SeparateFields() separates each progressive frame into two half-height fields. Actually, because the original frames are progressive to begin with, each two half-height fields are duplicates of the other. Then SelectEvery(4,0,3) specifies that for each 4 half-height fields, select the first and 4th field (frame and field numbers start with 0, so the 4 frames are numbered 0, 1, 2, and 3). Then the Weave() function weaves each two half-height fields into a single interlaced frame.
SeparateFields(): http://avisynth.nl/index.php/SeparateFields
SelectEvery(): http://avisynth.nl/index.php/Select
Weave(): http://avisynth.nl/index.php/Weave

At this point the two 50fps progressive files have been joined into a single 25fps interlaced video suitable for DVD or SD-Bluray. Then result is attached as "mislav_1and2_25i_DVD.mpg".

Now, if anyone can suggest a better way to get those videos transferred and played properly....
With better transfer and playback you could get much better results, and with far less work and effort.


Attached Images
File Type: jpg F- Noise sample before and after.jpg (21.1 KB, 264 downloads)
File Type: jpg G- Multiple noises before and after.jpg (36.8 KB, 272 downloads)
Attached Files
File Type: zip ccd_v1.7.zip (39.8 KB, 49 downloads)
File Type: zip MSharpen.zip (9.5 KB, 10 downloads)
File Type: zip SmartSmootherHiQ.zip (381.5 KB, 10 downloads)
File Type: vcf VDub_settings.vcf (1.0 KB, 9 downloads)
File Type: mp4 mislav_1and2_50p.mp4 (18.78 MB, 6 downloads)

Last edited by sanlyn; 10-06-2018 at 08:35 PM.
Reply With Quote
The following users thank sanlyn for this useful post: Amanjm (12-06-2020), Feedbucket (10-09-2018), JPMedia (10-07-2018), wimvs (10-21-2018)
Reply




Similar Threads
Thread Thread Starter Forum Replies Last Post
Help improving VHS captures with Avisynth, capture card? Micheal81 Restore, Filter, Improve Quality 35 01-29-2019 10:05 PM
How can I improve these VHS animation captures? Ivyna_J_Spyder Restore, Filter, Improve Quality 3 12-02-2017 08:20 PM
Avisynth script for QTGMC, encode x264 - no video after deinterlace? mo418 Capture, Record, Transfer 18 09-16-2015 01:06 PM
What is JVC's 3R and does it improve the picture quality? Member-X Capture, Record, Transfer 2 03-24-2012 07:22 PM
Need input! improve the quality of VHS cyber-junkie Restore, Filter, Improve Quality 3 01-19-2010 07:19 PM

Thread Tools



 
All times are GMT -5. The time now is 05:12 PM