Karim D. Ghantous
Well-known member
Idea: shooting for 24fps and 60ps at the same time with one camera & one data stream
Prologue.
Back when video was all interlace, a film shot at 24fps could easily be transferred to NTSC video using a 3:2 pulldown: each frame would alternately occupy 3 or 2 NTSC fields. The running time was very similar. Tranferring to PAL in the short term was not ideal, but now can be exploited because PAL transfers have no pulldown artefacts. All you have to do is take a PAL transfer, rip or digitize it, and reconform it to 24fps, which most HDTVs can support AFAIK (I don't have one so I wouldn't know).
The Idea.
But now thankfully we have progressive capture, for the most part. So how exactly do you shoot for both 30fps and 24fps without interlace? Well, you could use the old pulldown method by artificially dividing a progressive frame into two fields, and recombine them. But there is another method, using the same exact ratio, but in a different way.
Basically, your camera shoots at 60fps (probably with a wider shutter angle like 270 or even 360). If you want to output to 30fps video, you just blend two frames together. The wider shutter angle might allow you to perform a simple blend without any blurring.
If you want 29.97, you change nothing, except reconform. If you want 24fps, you alternately blend 2 and 3 frames. This will give you exactly 24fps. This is what one second will look like: two frames, blended, then three frames, then two etc. -
2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3
Note that it is also seamless. The next second begins with two frames, not three or some other number. It's always a 2,3,2,3 (or 3,2,3,2) stream, no matter where you interrupt it.
Here's some pseudo-code (to get 24fps from 60fps) for anyone who might want to write a shell script or something, assuming you have the right tools (such as ImageMagick). I'm out of practice, hence the pseudo-code. And I just like writing little programs anyway...
ARRAY F
REM Assume you have 120 frames
frame-count = 120
Set Directory
For i = 1 to frame-count
Load File i
Let i = F(i)
Next i
For i = 1 to frame-count Step 5
Average F(i),F(i+1),NewFile
Save NewFile
Let n = n + 1
Average F(i+2),F(i+3),F(i+4),NewFile
Let n = n + 1
Next i
Feedback.
So, has anyone tried this? Would anyone like to? I'd love to see the results. And here's a question: is this sort of thing redundant now? If HDTVs can accept 24fps streams, why not shoot everything at 24fps (or multiples thereof)?
Prologue.
Back when video was all interlace, a film shot at 24fps could easily be transferred to NTSC video using a 3:2 pulldown: each frame would alternately occupy 3 or 2 NTSC fields. The running time was very similar. Tranferring to PAL in the short term was not ideal, but now can be exploited because PAL transfers have no pulldown artefacts. All you have to do is take a PAL transfer, rip or digitize it, and reconform it to 24fps, which most HDTVs can support AFAIK (I don't have one so I wouldn't know).
The Idea.
But now thankfully we have progressive capture, for the most part. So how exactly do you shoot for both 30fps and 24fps without interlace? Well, you could use the old pulldown method by artificially dividing a progressive frame into two fields, and recombine them. But there is another method, using the same exact ratio, but in a different way.
Basically, your camera shoots at 60fps (probably with a wider shutter angle like 270 or even 360). If you want to output to 30fps video, you just blend two frames together. The wider shutter angle might allow you to perform a simple blend without any blurring.
If you want 29.97, you change nothing, except reconform. If you want 24fps, you alternately blend 2 and 3 frames. This will give you exactly 24fps. This is what one second will look like: two frames, blended, then three frames, then two etc. -
2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3
Note that it is also seamless. The next second begins with two frames, not three or some other number. It's always a 2,3,2,3 (or 3,2,3,2) stream, no matter where you interrupt it.
Here's some pseudo-code (to get 24fps from 60fps) for anyone who might want to write a shell script or something, assuming you have the right tools (such as ImageMagick). I'm out of practice, hence the pseudo-code. And I just like writing little programs anyway...
ARRAY F
REM Assume you have 120 frames
frame-count = 120
Set Directory
For i = 1 to frame-count
Load File i
Let i = F(i)
Next i
For i = 1 to frame-count Step 5
Average F(i),F(i+1),NewFile
Save NewFile
Let n = n + 1
Average F(i+2),F(i+3),F(i+4),NewFile
Let n = n + 1
Next i
Feedback.
So, has anyone tried this? Would anyone like to? I'd love to see the results. And here's a question: is this sort of thing redundant now? If HDTVs can accept 24fps streams, why not shoot everything at 24fps (or multiples thereof)?