Log in

View Full Version : Current state of the art in 60i to 24p?


Trixter
20th September 2006, 04:51
I was wondering if there have been any great strides made lately in simulating 24p footage out of 60i footage. I consulted http://forum.doom9.org/showthread.php?s=&threadid=89601 and am using mvfps right now, but sweet gravy it is slow! :eek:

Ideally I'd like to use something like mvbob and then mvflowblur, but that just blurs at the original framerate, when I'm trying to go to 24p. Would something like:

mvbob
mvflowblur
mvflowfps2 (to get to 24p)

...work, or am I going about this the wrong way? Any advice is appreciated...

Backwoods
20th September 2006, 05:07
ConvertFPS(23.976)

kidding kidding

*.mp4 guy
20th September 2006, 12:21
MvBob()
mvconv(120, blk=4)#if motionblur is not smooth enough double this, repeat as needed
TemporalSoften(3,255,255,15,2)#for more motionblur raise the first number
Selectevery(5)#if you raise mvconv, make sure to raise this to coincide with it

Should work well on footage without lots of complex motion.

To get to 23.976 fps, just assumefps(23.976) and slow your audio from 24->23.976 with something like besweet.

Trixter
21st September 2006, 00:01
Sweet, I'll give it a shot, thanks. Sucks about the 23.976 part, though; is there any way to resample the audio in avisynth?

zambelli
21st September 2006, 01:33
To get to 23.976 fps, just assumefps(23.976) and slow your audio from 24->23.976 with something like besweet.
Wouldn't converting to 119.88 instead of 120 fps remove the need for that? 119.88 / 5 = 23.976.

Trixter
21st September 2006, 03:30
MvBob()
mvconv(120, blk=4)#if motionblur is not smooth enough double this, repeat as needed
TemporalSoften(3,255,255,15,2)#for more motionblur raise the first number
Selectevery(5)#if you raise mvconv, make sure to raise this to coincide with it


This results in a 10fps file. What am I missing?

actionman133
21st September 2006, 23:17
I use a slightly different method than TemporalSoften () which I believe looks a little more authentic

rate = AudioRate ()
MVConv (240000, 1001) # = 239.76 fps
a = SelectEvery (10, 0)
a1 = SelectEvery (10, 1)
b = SelectEvery (10, 2)
c = SelectEvery (10, 4)
d = SelectEvery (10, 6)

#Use only one of these two methods...

filmblur = Merge (a, a1)

#Or...

ab = Merge (a, b)
cd = Merge (c, d)
fullblur = Merge (ab, cd)

#resample audio
AssumeFPS (24, True).SSRC (rate, False)

filmblur attempts to recreate the 1/48 shutter speed blur that most film cameras use.

fullblur recreates a full 1/24 shutter speed motion blur, so it will recreate the sort of blur that you'd see in Collateral or Miami Vice. It helps make the motion look smoother, because it can sometimes look like a lot of smoothness is lost from 60i to 24p.

These methods aren't perfect. Apparently overlapping motion blur (which I employ) is regarded as a bad thing as small details on fast moving scenes may look unusual. I, however, don't notice it. The motion blur to 1/24 is also more equally spread out than TemporalSoften ()...

Trixter
22nd September 2006, 04:01
While the mvconv to 239.76fps scares the crap out of me (the footage I'm trying to convert is 20 minutes long, 39000+ frames), I gave it a shot with this:


import("d:\program files\avisynth 2.5\plugins\mvbob\mvbob.avs")
AVISource("MakingOfWingCommander3.avi")
Crop(0,2,720,480) # original is 720x486
ConvertToYUY2(interlaced=true)

mvbob
MVConv(240000, 1001) # = 239.76 fps

a = SelectEvery (10, 0)
a1 = SelectEvery (10, 1)

Merge (a, a1)


Unfortunately VirtualDub won't display it after loading -- File Info shows the resolution is 720x480 and the framerate is indeed 23.976, but the number of frames is a negative number. What went wrong?

actionman133
22nd September 2006, 08:15
the filmblur method is only if you shoot on NTSC and want to imitate the look of film after converting to 24p. If you're conforming 60i to 24p so that you can play it with film material in an AVI file, then either just use MVConv (24000, 1001), or use the fullblur algorithm.

MVConv doesn't actually create 240 frames for every second. With film blur, it's only using two frames out of every 10, so only 48 frames are actually generated. The reason why it's 240 is so that you get the proper timing to render the 1/48th sec blur for the filmlook.

As for your negative framecount... I remember I had a similar problem once upon a time and I did overcome it, but I don't remember how... Test it with Bob () instead of MVBob (). If the framecount is still negative, then the problem is in MVConv and let me know (my version is slightly modified).

Actually, why do you use ConvertToYUY2 (True). You'd preserve quality, reduce resources and speed up the whole process without it. I think (on older versions) MVTools didn't like YUY2, so that might be the source of your problem. Comment that line out and see how you go.

Trixter
22nd September 2006, 08:33
I do indeed want to imitate the look of film. I commented out mvconv and the problem went away, so what changes did you make to your version of mvconv that allow it to work?

(I use ConvertToYUY2 because my source is RGB32 and mvtools, mvbob, etc. complain if it's not YUY2 or YV12.)

actionman133
22nd September 2006, 12:41
Do you have the latest version of mvtools?

And did you try it with Bob (), instead of MVBob ()?

I can't remember how I fixed the problem, but it *may* have been some internal conflict between MVBob () and MVConv ()... so try it with just a dumb bob and see if that works.

PS. If the source is RGB32, you don't need 'interlaced=true' when converting to YUY2. That's only needed if either the source colorspace or the output colorspace is YV12. For YUY2 and RGB24/32, it's not necessary... just a little tip for ya! ;)

Trixter
23rd September 2006, 04:19
I already tried with just bob and that wasn't it -- the problem is mvtools PLUS the footage I'm using. I tried mvbob().mvconv() with a different piece of footage and it worked :-( so something is up with mvconv.

actionman133
23rd September 2006, 04:27
Hmmm... I can't say that I know what the issue is then...

Mention it in the MVTools thread and Fizick or Scharfis Brain might be able to solve the problem for you.

Trixter
8th October 2006, 15:55
FYI, Fizick came to my rescue: http://forum.doom9.org/showthread.php?t=116655