View Full Version : 30p to 24p ?
Heathcliff
5th December 2009, 23:21
Hello,
what's the good way to convert 30p to 24p ? I have a canon eos 5d camera and actually it can just film in 30p. I more or less looking for a solution wich does not interpolate frames.
Many thanks !
poisondeathray
5th December 2009, 23:32
There is no good way, except get a new camera.
Your basic choices are a) drop frames (straight decimate) b) decimate + blend frames c) frame interpolation
a) gives you juddery playback , b) makes it blurry and juddery, c) gives you artifacts, but smooth playback
Atak_Snajpera
5th December 2009, 23:45
http://blog.planet5d.com/2009/10/canon-eos-5d-mark-ii-to-get-24-and-25fps-in-a-firmware-update/
a451guy451
5th December 2009, 23:49
Use MVtools2; specifically, MFlowfps works well. You could also try to use the MSU Framerate conversion plugin, but I find MVTools to be a bit easier with more controls.
EuropeanMan
7th December 2009, 04:45
What it if I have 25p (I'll assume this is 25fps progressive?) to 23.976...suggestions? Thanks in advance.
shoopdabloop
7th December 2009, 06:19
The standard way to do 25p->23.976p is with AssumeFPS sync_audio=true.
StainlessS
7th December 2009, 06:30
To change fps with MVFlowFps: (Examples From MVTools)
backward_vec = source.MVAnalyse(isb = true, truemotion=true, pel=2, idx=1)
forward_vec = source.MVAnalyse(isb = false, truemotion=true, pel=2, idx=1)
source.MVFlowFps(backward_vec, forward_vec, num=50, den=1, ml=100, idx=1) # get 50 fps
# Change num=50 to num=24 for 24FPS
---------------------------------
To change fps with MFlowFps: (Example from MVTools2)
super = MSuper(pel=2)
backward_vec = MAnalyse(super, isb = true)
forward_vec = MAnalyse(super, isb = false)
MFlowFps(super, backward_vec, forward_vec, num=50, den=1, ml=100) # get 50 fps
# Change num=50 to num=24 for 24FPS
They both work pretty good
Heathcliff
7th December 2009, 13:41
thanks for your answers, i'll try with mvtools.... before shooting in 24p when the new canon firmware will be released ;)
shoopdabloop
8th December 2009, 03:58
Here's what I do:
#my sources are 60i, so i need this:
TempGaussMC_beta1mod()
#it's slow. anyway:
super = MSuper()
bw = MAnalyse(super,blksize=4,search=3,isb=true)
fw = MAnalyse(super,blksize=4,search=3,isb=false)
MFlowFPS(super,bw,fw,num=23976,den=1000,thSCD1=280,thSCD2=80)
#optional, IF your clip was shot with 1/60 shutter speed and you want to simulate 1/48
#which is the "proper" shutter speed for film, otherwise it may look choppy
super = MSuper()
bw = MAnalyse(super,blksize=4,search=3,isb=true)
fw = MAnalyse(super,blksize=4,search=3,isb=false)
MFlowBlur(super,bw,fw,blur=25,thSCD1=300,thSCD2=80)
should i be doing mflowfps+mflowblur in the same manalyse-chain, or separately?
also, which should go first? i imagine if they are in the same chain mflowblur should go first.
StainlessS
8th December 2009, 04:08
@ Shoopdabloop,
I'll havta give your script a try,
however, I think the bw & fw may need to read bw1,fw1 or vice versa. :)
Gavino
8th December 2009, 10:52
I think the bw & fw may need to read bw1,fw1 or vice versa. :)
Not sure what you mean here.
bw and fw can safely be reused for the 2nd pair of MAnalyse calls.
StainlessS
8th December 2009, 15:12
@ Gavino,
Mflowblur originally was called with bw1 and fw1, Shoopdabloop has since edited the correction and there
lies the confusion, it is now corrected. :)
n0an
8th December 2009, 18:14
There is no good way, except get a new camera.
Your basic choices are a) drop frames (straight decimate) b) decimate + blend frames c) frame interpolation
a) gives you juddery playback , b) makes it blurry and juddery, c) gives you artifacts, but smooth playback
I know how to tdecimate, but how to use the other two options? I also have a camcorder which records at 30fps. I encode the video on for an annual family DVD, but I see serious ghosting in it. What's an appropriate solution to that (besides buying a new cam)?
I read the MVtools solutions, but the problem is how do I define my clip as the source? I do source = AVISource() or DirectShowSource(), but it gives error. How do I define the video source in for such scripts?
poisondeathray
8th December 2009, 18:39
I know how to tdecimate, but how to use the other two options? I also have a camcorder which records at 30fps. I encode the video on for an annual family DVD, but I see serious ghosting in it. What's an appropriate solution to that (besides buying a new cam)?
I read the MVtools solutions, but the problem is how do I define my clip as the source? I do source = AVISource() or DirectShowSource(), but it gives error. How do I define the video source in for such scripts?
What is the error message?
AVISource()
Source=Last
.
.
.
If the script uses "src", use "src" instead of "source"
Does your original footage have ghosting? Or only after processing to DVD? How did you do that process?
I think 30p or 29.97 (30000/1001) is a legit DVD spec for NTSC, so you should be able to do it directly without any framerate conversion
The MVTools solutions described above are all examples of (c) or frame interpolation. You will get smoother playback, but varying degrees of artifacts. IMO this is the best approach of the 3 basic methods
shoopdabloop
9th December 2009, 05:04
should i be doing mflowfps+mflowblur in the same manalyse-chain, or separately?
also, which should go first? i imagine if they are in the same chain mflowblur should go first, but i do not know if using the same vectors that we used to mflowblur to mflowfps will cause more artifacts than re-analysing after mflowfps.
hamsterstyle
16th December 2009, 21:46
If you are planning on shooting something with your 5dM2 and need 24p, I would instead try to rent a 7d for your shoot as it already does 1080p24 and not bother with any 30>24 conversion. No matter what you use it isn't going to look right. Spending a little money now for a rental is going to be the better choice in the long run.
burfadel
17th December 2009, 01:18
A DVD in 25fps (PAL) is sped up from 23.976 to 25fps. Setting a PAL dvd to 23.976 will essentially restore the original length of the film and speed.
A camcorder/camera filming in 25fps is a different matter. Since you are originally recording in 25fps, changing the framerate to 23.976 will actually slow down the video!
Cameras and camcorders film in 30fps to make it easy to connect straight to any NTSC/NTSC compatible TV. Newer tv's can display 23.976, but older ones can't hence the need for the 30fps for compatibility. Changing 30fps down to 23.976 on these will lead to either a very noticeable slowdown on the footage, or jerkyness due to the removal of frames.
The difference between a DVD/TV at 30fps and a camcorder/camera at 30fps is a DVD has the original framerate of 23.976, which is telecined to 29.97 fps. For every 3 frames 2 new artificial frames are creates using a mixture of the fields in the other frames to keep some smoothness (definitely not perfect though). A camcorder/camera recording in 30fps actually films 30 unique frames (29.97 frames/second). This means there are not 2 artificial frames for every 3 frames. Converting this down to 23.976 as explained above is not a good thing.
The only way downcoverting can work is using a type of telecining, but in this case instead of creating new frames in addition to the old frames, create new mixed frames deleting some of the old ones. This still is not a good idea as quality will degrade.
Recording n 23.976 (24) is the only viable solution, obviously it has been found by Canon to be the case hence the release of the firmware that will allow it. The additional benefit at having firmware that can record in 23.976 is that you will be able to record more video for the same amount of space :)
Blue_MiSfit
17th December 2009, 01:53
Hopefully there will be a firmware update for the 5K MKII that will allow proper 24p recording - or the awesome guys who make CHDK will support this :)
For now, MVTools is probably your best bet.
~MiSfit
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.