Log in

View Full Version : 30p footage to 30i with 3:2 Cadence?


Ashura
14th October 2022, 05:58
Hey there,

So I have a show that I'm working on that I need to get back to 29.97 interlaced with 3:2 cadence - so essentially, film footage interlaced. The main brunt of the show is 23.976, and bringing that back up to 29.97 interlaced isn't hard. There's a bunch of methods listed on here how to do that.

But the opening and a few sections were done at true 29.97, and in the original footage, these sections were the same: 3 solid, 2 interlaced frames. It's just that there were no repeats like with the film footage.

To clean the 29.97fps sections up I had to deinterlace them (which worked fine)- Is there a way to interlace every 4th and 5th frame so it matches the rest? I have to get it back to 480i unfortunately; believe me, I'd rather leave it all progressive. I've searched around for something like this, and I swear I've done it before but I can't remember how!

groucho86
14th October 2022, 13:42
I think... you either want to to convert the 29.97p to 59.94p and then turn that into 29.97i (each frame is interlaced),

or if you reeeally want 3:2 cadence, you'd need to to 29.97p > 23.98p > add 3:2 pulldown to get it to 29.97i.

wonkey_monkey
14th October 2022, 14:22
in the original footage, these sections were the same: 3 solid, 2 interlaced frames

What do you mean by "the original footage"? What do you see in the file you're working from? 3 solid then 2 blended frames? What framerate is your source file?

FranceBB
14th October 2022, 15:00
This will blend to 60p and then divide in fields to get 29,970i (which is not what you asked):

ConvertFPS(60)
LanczosResize(720,480)
assumeTFF()
separatefields()
selectevery(4,0,3)
weave()

what you asked is this, which will duplicate everything to 60p and then divide in fields to get 29,970i:

ChangeFPS(60)
LanczosResize(720,480)
assumeTFF()
separatefields()
selectevery(4,0,3)
weave()

hello_hello
17th October 2022, 07:44
You can't use 2:2 pulldown for the 30fps parts and 3:2 for the rest?

If not, FrameRateConverter does a good job reducing the frame rate. I happened to have the hard drive handy, so here's the opening credits for The Outer Limits. They were originally 30p (or interlaced, I can't remember).

FRC Sample.mkv (https://files.videohelp.com/u/210984/FRC%20Sample.mkv)

The script was something like this:

Trim(0, 4504).TFM().TDecimate().AssumeFPS(24000, 1001) ++ \
Trim(4505, 6334).FrameRateConverter(NewNum=24000, NewDen=1001).AssumeFPS(24000, 1001) ++ \
Trim(6335, 79734).TFM().TDecimate().AssumeFPS(24000, 1001) ++ \
Trim(79735, 0).FrameRateConverter(NewNum=24000, NewDen=1001).AssumeFPS(24000, 1001)

Obviously I removed the pulldown in the script above. I'm not exactly sure how you're dealing with the telecined parts, but for the record, if you do split a script in a similar way, it pays to make sure the sections with TFM().TDecimate() are an exact multiple of five, as TDecimate removes one in five frames after field matching, and if there's not five in the last group it can effect the audio sync a little.