digitalFAQ.com Forum

digitalFAQ.com Forum (https://www.digitalfaq.com/forum/)
-   Restore, Filter, Improve Quality (https://www.digitalfaq.com/forum/video-restore/)
-   -   Field repeats, tearing, wobbly lines? (https://www.digitalfaq.com/forum/video-restore/8041-field-repeats-tearing.html)

sanlyn 07-19-2017 03:57 PM

You can join them using "Append AVI.." in Virtuialdub. I can join segments in my encoder when I use TMPGenc Mastering Works. Aren't you using Adobe to encode? You can join them in the timeline.

koberulz 07-20-2017 01:37 AM

Well at present I have about 20 AVS files, so I was hoping there might be a way to point to the folder they're in and spit out one file, rather than creating 20 intermediates in the first place.

sanlyn 07-20-2017 07:00 AM

In my current VHS-to-DVD project I have a 1hr 36min movie. I'm about 1hr 10min into the movie now. I have the working files separated into folders that correspond roughly to DVD chapters of 5 to 8 minutes or so. The folders are named from "A" up to "J" at this point. At last count (last week) I had 183 working segments, 10 of which are joins of segments that will later be encoded to MPEG2 or h264. That figure doesn't unclude the .avs and .vcf files or the 3 inverse-telecined copies of the original captures.

The individual working files are created by using Avisynth to pull off the desired segment from the master captures which are located on an external drive. Each segment is denoised/repaired/color-corrected individually. Some use common settings, some require something different. Then they are joined into one of those major "chapter" segments as YV12-AVI. I plan to keep most of these working segments for a short while on external drives until I'm satisfied with the final output on disc. Then I'll get rid of everything except the scripts, Virtualdub vcf files, and working notes. I'll keep the original captures (there are 3 of them) for a few years. maybe less, then archive them as high-bitrate MPEG if I still want them.

koberulz 07-20-2017 08:55 AM

I'm not sure that answers my question.

sanlyn 07-20-2017 09:15 AM

You make as many intermediate files as you need for your workflow. You don't keep them all forever, but you keep the scripts and settings. I'm not sure why you split your capture into 20 unprocessed files anyway. Open a capture and first trim off what you want, then process it in your trimming script and save the results. You might have to put that result through more processing or whatever, but why save all those unprocessed segments initially?

I can't get into much more detail with your workflow because I know you're going through several steps with each segment (I do the same thing with mine) and tying them up in Adobe. But if you need segments for more efficient processing, that's what almost everyone else does with complicated repairs like those you're doing. It takes what it takes. With a little trial and error you can improve the pace and efficiency.

koberulz 07-20-2017 11:32 AM

There are no unprocessed segments. The AVS files are all loading the same capture, trimming it, and then processing. Then I'm going to have to save all 20-odd as AVI files, then recombine them...unless there's a way to just point VDub at the folder and have it combine them all automatically or something.

koberulz 09-13-2017 09:11 AM

Okay, so I'm mostly going through and removing small patches of tearing one frame at a time, but there's a large chunk that's just too much work. I can just run SelectEven() on it to get rid of most of the problem, but then the result of that AVS will be half the framerate of the rest of the clip. What's the best way to bump it back up to match?

koberulz 09-15-2017 09:52 AM

Actually, additional thought: If I just duplicate every frame to double the frame rate (although not sure how), would that cause issues with reinterlacing at a later step? Would I need to interpolate the new frames?

sanlyn 09-15-2017 04:19 PM

The SelectEven segment and the re-interlaced segment will have the same fame rate. Just join the two together. There is no "interlace marker" in lossless AVI, so no problem joining a progressive segment with an interlaced one as long as other parameters are compatibe (colorspace, frame size, frame rate, etc.). After joining, encode the whole thing as interlaced.

koberulz 09-15-2017 09:31 PM

Quote:

Originally Posted by sanlyn (Post 50842)
The SelectEven segment and the re-interlaced segment will have the same fame rate. Just join the two together.

Won't the SelectEven segment have half the number of frames and thus play back twice as fast?

Quote:

There is no "interlace marker" in lossless AVI, so no problem joining a progressive segment with an interlaced one as long as other parameters are compatibe (colorspace, frame size, frame rate, etc.). After joining, encode the whole thing as interlaced.
Nothing is currently interlaced, but after I've recombined them and done some other processing I'll be running the SelectEvery(4,0,3).Weave() script. Still no issue?

sanlyn 09-15-2017 11:04 PM

Quote:

Originally Posted by koberulz (Post 50846)
Won't the SelectEven segment have half the number of frames and thus play back twice as fast?

The SelectEven segmentt plays at 25fps.
The double-rate deinterlaced segment plays at 50fps, but after re-interlace it plays at 25fps.
Combine the two segment types when they are both 25fps.

Quote:

Originally Posted by koberulz (Post 50846)
Nothing is currently interlaced, but after I've recombined them and done some other processing I'll be running the SelectEvery(4,0,3).Weave() script. Still no issue?

You run SelectEvery(4,0,3).Weave() only on the 50fps segment to make it 25fps again. Then you can recombine the segments afterwards because they'll both be 25fps.

Or to put it another way:
Cut a segment of video that you want deinterlaced at 50fps. Then cut a segment that you want deinterlaced with SelectEven() at 25fps. Filter the 50fps segment, then reinterlace it with SelectEvery(4,0,3).Weave() for 25fps. Then filter the SelectEven 25fps segment, then join it back to the reinterlaced 25fps segment. Encode the whole thing as interlaced.

Or, if you insist on just running the same filters on all segments together, you'll have to make up a complicated script and some intermediate files.

- Cut a segment of video that you deinterlace to 50fps. Save it as File1_50. No other filters yet.
- Then cut a segment that you deinterlaced with SelectEven at 25fps. Save it as File2_25. No other filters yet.
- Then cut the remainder or a trailer of the video and deinterlace it to 50fps. Save it as File3_50. No other filters yet.

Run the following script to double the number of frames and the frame rate on the File2_25 file. The script uses AviSource to open the same File2_25 file twice. It opens the two 50fps files only once.
Code:

v1=AviSource("File1_50")
v2A=AviSource("File2_25.avi")
v2B=AviSource("File2_25.avi")
v3=AviSource("File3_50")

# --- interleave all frames in the "V2A + V2B" videos, for a new 50fps video.
# --- This doubles the number of frames and the frame rate. Every 2 frames are dupes.
v2=Interleave(v2A,v2B)

# --- combine all of the 50fps videos
v4=V1 + V2 + v3

# --- place focus on the v4 (all-50fps) combination.
v4
...processing....
...processing....
...processing....
...processing....
AssumeTFF()
SeparateFields().SelectEvery(4,0,3).Weave()
return last


koberulz 09-21-2017 08:54 AM

Wouldn't it be easier to add
Code:

interleave1 = last
interleave2 = interleave1
Interleave(interleave1,interleave2)

to the end of the SelectEven() script? Or is there a reason that wouldn't fly? At least that way you don't have to keep track of which scripts are which framerate.

sanlyn 09-21-2017 10:17 AM

That script makes no sense. What is "interleave1" ? What is "last"?

koberulz 09-21-2017 10:31 AM

Well, it would go at the end of the script that uses SelectEven(), so 'last' would be the result of that script.

Code:

AVISource("Capture.avi")
SelectEven()

#use the earlier frame replacement script to pick out any remaining bad frames
interleave1 = last
interleave2 = interleave1
Interleave(interleave1,interleave2)
return last

Wouldn't that return a 50fps clip that could just be slotted in with the rest?

sanlyn 09-21-2017 12:49 PM

Quote:

Originally Posted by koberulz (Post 50920)
Well, it would go at the end of the script that uses SelectEven(), so 'last' would be the result of that script.

Code:

AVISource("Capture.avi")
SelectEven()

#use the earlier frame replacement script to pick out any remaining bad frames
interleave1 = last
interleave2 = interleave1
Interleave(interleave1,interleave2)
return last

Wouldn't that return a 50fps clip that could just be slotted in with the rest?

It will if "capture.avi" is 50fps deinterlaced.

koberulz 09-24-2017 03:18 AM

1 Attachment(s)
2243 frame replacements later....

koberulz 09-25-2017 08:42 AM

I hate the walls, but it's the only way to make what's on-court look...'good' is probably the wrong word.

Watching the whole thing through today, I can actually see the points where it switches from 50fps to 25fps, it gets a lot jerkier.

sanlyn 09-25-2017 09:13 AM

Will likely look less obvious on tv. Even if it doesn't, most viewers won't notice.

koberulz 09-25-2017 10:00 AM

I was watching it on a TV - put it on a USB and stuck it in my Blu-Ray player.

Well aware most people probably wouldn't notice, but I didn't think I'd catch it either - I always see people talking about frame rates like they can tell the difference - especially with gaming - and have never understood it. I still wouldn't know if the whole thing was 25fps, which the SD versions both are anyway.

Any thoughts on the comparison video?

sanlyn 09-25-2017 04:15 PM

The repair looks about as smooth as it ever will, at least much better than the disturbed original. Not much one can do with the color, although the new frames have no clean whites or reds and looks brownish. Over-corrected for excessive blue, perhaps, but at least it doesn't look like blue flood lights. Motion certainly looks satisfactory. Better than the owner should expect.


All times are GMT -5. The time now is 06:32 AM

Site design, images and content © 2002-2024 The Digital FAQ, www.digitalFAQ.com
Forum Software by vBulletin · Copyright © 2024 Jelsoft Enterprises Ltd.