I just put the two encodes thru SeparateFields and bob(). The HCenc and the later TMPGenc encode look exactly the same, frame for frame, no blending in either when viewed in those ways. Each field is distinct and telecined on exactly the same frames. I captured a 10-field sequence from each and mounted them in Photoshop, then turned the layers off-on, etc.; field for field, they're exactly alike.
+ Reply to Thread
Results 151 to 180 of 210
Our inventions are wont to be pretty toys, which distract our attention from serious things. They are but improved means to an unimproved end. -- Henry David Thoreau
Yes, your file in post #148 is fine, soft telecine. I didn't mean to imply otherwise.
In case it's not clear to anyone: for soft telecine (video encoded as 23.976 fps progressive frames, 3:2 pulldown flags added to instruct DVD players how to produced 59.94 fields per second output) of a 23.976 fps progressive source in TMPGEnc Plus you want to use these settings:
For hard telecine (I don't know why anyone would ever do this):
Last edited by jagabo; 21st Mar 2012 at 21:12.
Hmm. The post in 148 was with the "3:2 pulldown" checkbox. The settings shown at the top for soft telecine are the ones I used for the earlier post here in #144.
The attached m2v is a re-run with the old "soft" settings. To me, it looks like its mate posted in 148, until you bob() or SeparateFields -- under those conditions, it doesn't look like TMPGenc posted in #148. It looks like HCenc.
Last edited by sanlyn; 22nd Mar 2012 at 07:39.Our inventions are wont to be pretty toys, which distract our attention from serious things. They are but improved means to an unimproved end. -- Henry David Thoreau
Thank you, jagabo, for that refresher on frame and field display. The settings you posted are the two TMPGenc setups I used -- once I figured out what was wrong with the IVTC scripts. To rephrase your excellent posts on how frames should appear, using the sample clips I posted:
OK, I reorganized and started over (again). I made entirely different versions of the TMPGenc projects -- that is, rather than keep opening the same project and changing its buttons for every encode, I created a different project for each encode, with a different name, in separate folders. Meanwhile there's only ONE copy of the TIVTC'd AVI for input, instead of 3 or 4 revisions everywhere (I think multiple copies of the input caused confusion??). All other revisions, encodes, etc. moved to an external drive, outta sight.
With HCenc, I see only two controls for 3:2 pulldown: either click the "3:2 pulldown" radio button, or click "Make DVD compliant". I tried HCenc both ways, same results.
So I now have three pulldown encodes that seem to work as intended: a soft HCenc, soft TMPGenc, hard TMPGenc. And I have the original cable and VHS sources.
For each encode, I open directly in VirtualDub. I play it "normally" (no bob or separatefields). With each mpg or m2v I start with the same frame -- so, from that point I make notes beginning with the first telecined frame. This is what I see with this "full-frame playback" method in all viewers:
HCenc -soft-: AB BC C D E EF FG G H I IJ JK K L M TMPGenc soft: AB BC C D E EF FG G H I IJ JK K L M TMPGenc hard: AB BC C D E EF FG G H I IJ JK K L M cable/vhs in: AB BC C D E EF FG G H I IJ JK K L M
HCenc -soft-: A A B B C C D D E E F F G G H H I I J J K K L L M M TMPGenc soft: A A B B C C D D E E F F G G H H I I J J K K L L M M TMPGenc hard: A B B C C C D D E E E F F G G G H H I I I J J K K K and so on cable/vhs in: A B B C C C D D E E E F F G G G H H I I I J J K K K and so onOur inventions are wont to be pretty toys, which distract our attention from serious things. They are but improved means to an unimproved end. -- Henry David Thoreau
Now. . .off to scrub that godawful old tape for the next 6 months! Thanks for setting me straight again, jagabo.
Question about DVD output encoded with 3:2 pulldown, then joining separately processed 3:2 clips.
Thanks to local gurus for setting me straight on using IVTC/Decimate with VHS captures. The original retail VHS is a movie mastered from film source (telecined NTSC 29.97fps).
1. Capture to one big huffyuv AVI.
2. Cut the AVI into 4-GB sections (about 10 minutes of video, each), for permanent storage and for individual scene processing.
3. IVTC/Decimate each 4GB section to 23.98fps progressive, then denoise, despot, color work, etc.
4. As with most VHS, some scenes must be cut and treated separately due to levels/color problems, bad frames, etc.
5. After cleanup, join all small segments back into one 4-GB progressive AVI clip.
6. Encode the processed 4GB clip to DVD/MPEG with 3:2 pulldown for 29.97fps playback (using "soft" 3:2, not hard-encoded).
Now for step 7: Join the 3:2 MPEG clips into one 90-minute DVD. How to do this without interrupting the 3:2 pulldown sequence between MPEG clips?
Let's say MPEG clip #2 has a scene that ends with the last frame being the first 3:2 frame in a 5-frame sequence. That last frame would have been followed by the second 3:2 frame in the next scene, but the scene is cut at that point for joining to the next clip. The next MPEG clip #3 begins with a non-telecined frame. So, joining the two clips interrupts the 5-frame 3:2 sequence at the join point.
There ought to be a clever way to render the separate 4GB AVI's to 3:2 MPEG so that the 3:2 sequence isn't interrupted between sections. As it is now, each 4GB AVI contains a few frames from the preceding and following 4GB clip. This movie has fourteen 4GB sections.
Yes, I know. Clean all the 4GB clips, join them into one huge 30-GB AVI, then encode the whole thing at once. True, but on playback on tv it never fails that you see several sections that need some re-processing. Now you have to fix those sections, reassemble all the AVI's, then encode the whole 30GB movie again. That would take forever.
Last edited by sanlyn; 21st Jun 2012 at 07:45.
The easier way is to render all your filtered clips to AVI again, then join them all in an AviSynth script to encode.
clip1 = AviSource("filtered clip 1.avi") clip2 = AviSource("filtered clip 2.avi") clip3 = AviSource("filtered clip 2.avi") return(clip1+clip2+clip3)
Last edited by jagabo; 21st Jun 2012 at 07:59.
Why would it take forever? You just re-filter that AVI section. Presumably you have all the AVI clips stored as a "master" somewhere?
Encoding a DVD takes 15-30 minutes on a modern computer. (In perspective - compare that to the hours/days/weeks spent cleaning the thing up)
jagabo to the rescue again! OK, I'll look into all those ideas. As it now stands, the two scenes require some heavy color correction (the end scene is OK, but the next scene in the next clip needs serious correction). As it looks now, the two scenes and clips would join this way:
The "|" marks the spot where the scene change must be joined between the two MPEG's. Blue marks 3:2 blended frames on playback. Using SeparateFields(), you'd see this:
end MPEG #2: aa ab bc cc dd ee ef | fg gg hh start MPEG #3: | ff fg gh
Ergo...I start encoding the AVI for MPEG Clip #3 to include the last few frames of Clip #2. So in the editor I'd have:
end MPEG #2: aa ab bc cc dd ee ef | fg gg hh start MPEG #3: aa ab bc cc dd ee ef | fg gg hh
end MPEG #2: aa ab bc cc dd ee ef | start MPEG #3: | fg gg hh
But I won't always have TMPGEnc's stuff available, so I'll try it with your suggestions as well.
I see what you're saying, as no matter how I make revisions I have to rejoin the AVI's, and the old AVI join can be ditched. Encoding the whole magilla is something I'd let run overnight. But I'm now using different bitrates for some sections, to fit the whole thing at high bitrates on a dual-layer disc with other material about the movie. If I can encode only a repaired MPEG section or two, the editor can reassemble the whole DVD in under 20 minutes.
Okay, we'll rethink all of it. Still a long way to go, Clip #3 is only 8 minutes into the movie. This is my first IVTC and 3:2 pulldown project , so I have some workflow polishing ahead. But thanks for those ideas, I'll try 'em all.
I hate VHS. Did I say that earlier? Last week it took 2 days to get the spots, dropouts and rips out of 3 minutes of video. And that doesn't include denoising and color work.
Last edited by sanlyn; 21st Jun 2012 at 09:40.
You don't have to join the AVI's (physically) ever. That can be done in a script as in jagabo's example. If you ever need to replace a section, that can be done in a script with aligned splice as well
Pulldown should always be the last thing you do. I don't recommend it this way (I think it's easier to do as AVI) - but if you're going to be making frequent changes and joining as mpeg2 clips, another way is to encode 24p (no pulldown) , and only when you are finished joining add soft pulldown (e.g. dgpulldown) . You can store a 24p mpeg2 no pulldown "master". This way you never mess with the cadence or get cadence breaks
3:2 is my last step, before joining the MPEG's. Wow, after all my searching in the tools section I somehow overlooked dgpulldown. Thanks, poisondeathray. Jagabo, too. Back to the drawing board.
Maybe jagabo or manono knows, neuron2 would know for sure - I wonder if it's possible to "overwrite" existing TFF/RFF flags ?
ie. would it be possible to join whatever progressive mpeg2 clips, then re-write or overwrite the existing flags using dgpulldown ? If this was possible then you wouldn't care about cadence or joins - you could do it anyway you want
This being my first iVTC/3:2, I'll give all these suggestions a try. I got a PM recently asking why I'm cutting those AVI's and treating scenes differently. Most would just capture, clean, encode, author and burn in one swoop. Wish I weren't so picky.
I'm working with three captures from two VCR's. Each has their good and bad points, in different places. The image below is from capture #1 (capture #2 looks exactly the same). Both from the same 1998-era VCR. No IVTC or processing, just encoding for the mpg.
The image below is the same frame, from a 1995-era VCR. The scene leading into this is a long 15-second whirlpool-dream-sequence dissolve. Capture 3 oversoftens the dissolve, details aren't crisp. So I'm using the preceding scene from Capture 1. No IVTC or processing, just encoding for the mpg. This frame looks a bit soft because it is a blended frame (hard telecined) from the unprocessed original.
The attached mpg's are from each capture. The damage in Capture 1 and 2 goes on for 16 frames. Even without damage like this, I'd still be color grading for individual scenes. I hate VHS.
Last edited by sanlyn; 21st Jun 2012 at 12:18.
Looks as if dgpulldown works. I encoded two scenes to MPEG at 24.976 fps progressive. Each has 10-frame GOP's (the GOP's look like IBBPBBPBBP). I joined the two clips in TMPGEnc Editor, cutting a few frames from the end of clip1 and a few from the start of clip2, so the cuts are at the scene change. I saved that as a single MPEG2.
Ran dgpulldown on it and converted to 29.97fps with 3:2 pulldown. Looks OK, plays OK (on the PC, anyway). I do have to get accustomed to seeing it in the editor again with the same 10-frame GOP's showing up as 12, 13, and 14 frames instead of a consistent 10. But I wouldn't be editing that "final" 3:2 MPEG anyway, so it doesn't matter.
Now I have multiple options. As I said before, back to the drawing board.
I don't see the problem. One of the first things I do is to IVTC the whole thing if it needs it. Then I do some filtering on the whole thing. Then I split it into pieces for more intense local filtering. Then I rejoin the whole thing similarly to jagabo's script and send it off to the MPEG-2 encoder. The 3:2 pulldown can be applied during the encoding or (as I do it) afterwards with DGPulldown. The point is, though, that it's progressive almost from the beginning, soon after the capture. Cutting it first is, in my opinion, the wrong way to go about it. Since it's going to be IVTC'd in any event, for archival purposes you could split it after doing an initial IVTC.
And, yes, as you discovered, DGPulldown can also strip out or rewrite the TFF/RFF flags.
I agree, manono. I wasn't quite clear, I guess. My first step is to IVTC/TDecimate the whole thing. Then individual 4GB pieces saved to disc for basic levels/color fix and removing spots, dropouts, streaks, rips, chroma bleed, edge artifacts, all in Avisynth. By that point there's not much heavy-duty denoising to do -- so far, anyway. Then I cut smaller scenes for RGB color tweaks and scene-to-scene color grading, maybe some very low-octane NeatVideo mostly for temporal smoothing (if needed). Then it's ready for joining and encoding with TMPGenc. Spots and tough color problems eat up all the time and effort.
Thank goodness my interests run to mostly black and white films. I hate color-correcting with a passion. Mostly because I'm no good at it.
The problem arose when I started joining encoded 3:2 pieces at scene changes -- i.e, at the end of one big 4GB AVI-to-MPEG clip and the beginning of another (see post #160). A little pre-planning and the tips I learned here can prevent ending up with four blended telecine frames in a row. I even do this same thing with black and white (I think it's tougher to denoise than color is).
Last edited by sanlyn; 21st Jun 2012 at 19:08.
Progressive all the way and DGpulldown as a final (pre-authoring) stage is the way to go.
I'll get stoned for saying this, but loads of stuff with broken 3-2 pulldown cadences gets broadcast on TV, and quite a lot gets encoded to DVD. Most TVs can handle it OK. Many DVD players can handle it OK. (See the DVD benchmark website). It's hard to spot when handled properly unless it's part of a smooth pan. If it's at a scene change it'll be very hard to spot even if it's not handled properly.
So by all means go down the perfectionist route (I would in this case, because it's trivial). But remember that what you were worrying about doesn't really matter in terms of watching it from DVD on a TV. You could IVTC a DVD made from edited/broken 3-2 pulldown sequences well enough on a PC too. The IVTC tools are smart specifically to cope with such circumstances. You might get an occasional half-resolution or duplicated frame. With cuts on scene changes, good look spotting that in real time.
Even if the cadence is broken, it would likely display OK. I'll never know unless I get up a "broken" scene and try it. This will be played on new TV's and some old CRTs. At this point the whole movie is IVTC'd. No cadence problems, no dupe frames, etc. Didn't take long at all. Color and tape damage are the priorities anyway.
I have a ton of videos on tape. Some look really awful, but I don't expect I'll put this much effort into most of them. This one is a work of passion. You know how that goes: now and then you just "hook on" to something (or the other way around). I have a love-hate relationship with this damn tape.
Yes, I'm still at it. Now 30 minutes into this video, using stuff I've learned since the first effort in 2007. Results are much better than earlier with this crappy old VHS, but . . .
Avisynth error: "Video frame rates don't match".
But they're trims from the same AVI capture. Take two pieces from a big AVI capture that started in life as 29.972 hard-telecined (the whole thing is now IVTC'd), then cut out a part called "AA" and another part called "A", trim the excess, and join them with Unaligned Splice.
vidpath="E:\LIL2\A\" # ------------------ # INPUT IS YUY2 # ------------------ v1=AviSource(vidpath+"LIL3_8662_AA_ivtc.avi") v2=AViSource(vidpath+"LIL3_8662_A_ivtc.avi") v3=v1.Trim(463,2420) ++ v2.Trim(196,0) # ---------------- # SAVE AS YUY2 # ---------------- return v3
Why does Avisynth think they're not the same frame rate? These are from MediaInfo:
Complete name: E:\LIL2\A\LIL3_8662_AA_ivtc.avi
Bit rate: 43.8 Mbps
Frame rate: 23.976 fps
Bit rate: 1 536 Kbps
Channel(s): 2 channels
Sampling rate: 48.0 KHz
Complete name: E:\LIL2\A\LIL3_8662_A_ivtc.avi
Bit rate: 41.6 Mbps
Frame rate: 23.976 fps
Bit rate: 1 536 Kbps
Channel(s): 2 channels
Sampling rate: 48.0 KHz
So I joined the clips with this script, and everything worked:
vidpath="E:\LIL2\A\" # ------------------ # INPUT IS YUY2 # ------------------ v1=AviSource(vidpath+"LIL3_8662_AA_ivtc.avi").AssumeFPS(23.976,true) v2=AViSource(vidpath+"LIL3_8662_A_ivtc.avi").AssumeFPS(23.976,true) v3=v1.Trim(463,2420) ++ v2.Trim(196,0) # ---------------- # SAVE AS YUY2 # ---------------- return v3
The frame rate in an AVI file is given by two integer values, a numerator and a denominator. Different programs when given a floating point value like 23.976 will use different methods to convert that to integers. One may use 23976/1000, another 24000/1001 (the latter is the true value, 23.976023976023976...). You can use AviFRate to view the integer values of the two files.
OK, got that. I saw similar notes in AVisynth docs. I took the doc's advice, specified the frame rate and it worked, fits OK with other segments as well. Just struck me as odd that I've done these joins before but never saw that message. Thanks, jagabo. One learns something new every day around here.
I think you should use AssumeFPS(24000,1001,false) to avoid resampling the audio.
I think you're right. Sounded OK thru cheapo PC speakers, but my Grado headphones say it's a more tizzy in the treble and more hiss than the original. Thanks. I'll run it again.
I don't think that shows the actual values in the AVI file. For example, I have an AVI here with 23976/1000 but Info() reports "23.9760 (2997/125).
Ah, I see, they just reduced the values to the lowest -- uh, what's it called? -- whole number equivalents? Ie, 23976 / 8 = 2997, 1000 / 8 = 125. So yes, Info() will show you if there is a difference.
Last edited by jagabo; 26th Jul 2012 at 13:41.
Well, now, this is certainly something I'll have to do some reading on. Clips "AA" and "A" were originally cut from the big 32-GB capture, which I split into 17 smaller AVI's for backup on DVD's. The original 32GB is on a hard drive somewhere. So I used info() to read the two clips before and after IVTC:
Info() before IVTC:
File "AA" = 29.9760 (12500/417)
File "A" = 29.9760 (3747/125)
Info() after IVTC:
File "AA" = 23.9808 (10000/417)
File "A" = 23.9808 (14988/625)
Joined clip = 23.9760 (24000/1001)
Had no idea this was happening. So Avisynth isn't looking at the "fps", it's using the numbers in the computation., e.g., "14988/625" ?
Last edited by sanlyn; 26th Jul 2012 at 14:32. Reason: correct typo