View Full Version : HowTo Change 720p 59.9fps to 23.9fps?
patriot69
12th January 2005, 19:18
Maybe I worded my prev post wrong, so here is another go.
Does anyone know how to chage the frame rate of 59.940 to 23.976 ?
I am tring to use vdubmod with a avs script and it seems the larger frame rate makes the video play faster then the audio. So I can never get it in sync. my hopes are to make a dvd or even a svcd from this. here is the video source info 1280x536 [32X][8x][Bilinear]
here is my avs info
[AVSINFO]
BLACKNESS = NO
NUMENTRIES = 15
AVSENTRY1 = LoadPlugin("C:\SVCD-Tools\plugins\MPEG2Dec3.dll")
AVSENTRY2 = LoadPlugin("C:\SVCD-Tools\plugins\Decomb510.dll")
AVSENTRY3 = LoadPlugin("C:\SVCD-Tools\plugins\YV12InterlacedReduceBy2.dll")
AVSENTRY4 = +VIDEO
AVSENTRY5 = +AUDIO
AVSENTRY6 = AudioDub(Video,Audio)
AVSENTRY7 = +DELAY
AVSENTRY8 = SelectEven()
AVSENTRY9 = ConvertToYUY2()
AVSENTRY10 = +TRIMS
AVSENTRY11 = ^telecide(order=1)
AVSENTRY12 = ^decimate(5)
AVSENTRY13 = ^FadeOut2(25)
AVSENTRY14 = ^Crop(0,0,0,-8)
AVSENTRY15 = ^LanczoResize(480,360).AddBorders(0,60,0,60)
AVSENTRY99 = ^TemporalSmoother(2,1)
hope this helps explain my issues
Patriot
nnigam
12th January 2005, 19:58
You do not have an fps changes in your script.
Did you try FDecimate?
patriot69
13th January 2005, 00:46
Originally posted by nnigam
You do not have an fps changes in your script.
Did you try FDecimate?
Nope, just what you see above, Can you give me any info on what I should put or where to read more about changing fps and FDecimate?
Guest
13th January 2005, 01:52
Here is FDecimate:
http://neuron2.net/fdecimate/fdecimate.html
You might try running Telecide() to get progressive frames, and then follow it with:
FDecimate(rate=23.976,threshold=0.8)
Omit your SelectEven() and Decimate() calls, of course.
You may have to tweak the threshold. Refer to the help file for details.
patriot69
13th January 2005, 03:50
Ok I made the following changes. One questions comes up. I use AVI2DVD to make a d2v file, Under Video, Film Operation, I have set to None. Should I change this to Forced FILM?
[AVSINFO]
BLACKNESS = NO
NUMENTRIES = 14
AVSENTRY1 = LoadPlugin("C:\Program Files\Dtivo\Tools\MPEG2Dec3.dll")
AVSENTRY2 = LoadPlugin("C:\Program Files\Dtivo\Tools\Decomb510.dll")
AVSENTRY3 = LoadPlugin("C:\Program Files\Dtivo\Tools\YV12InterlacedReduceBy2\YV12InterlacedReduceBy2.dll")
AVSENTRY4 = +VIDEO
AVSENTRY5 = +AUDIO
AVSENTRY6 = AudioDub(Video,Audio)
AVSENTRY7 = +DELAY
AVSENTRY8 = ConvertToYUY2()
AVSENTRY9 = +TRIMS
AVSENTRY10 = ^telecide(order=1)
AVSENTRY11 = ^FDecimate(rate=23.976,threshold=0.8)
AVSENTRY12 = ^FadeOut2(25)
AVSENTRY13 = ^Crop(0,0,0,-8)
AVSENTRY14 = ^LanczosResize(480,360).AddBorders(0,60,0,60)
AVSENTRY99 = ^TemporalSmoother(2,1)
Here is the new changes!
I tried telecide() and vdubmod did not like it, It said you must specify the order parameter (0=bff, 1=tff). I changed to order=0 and it played but could not see any difference.
btw, I am looking at how it plays in vdubmod, should I be looking at it somewhere else?
patriot
Guest
13th January 2005, 04:23
Originally posted by patriot69
Ok I made the following changes. One questions comes up. I use AVI2DVD to make a d2v file, Under Video, Film Operation, I have set to None. Should I change this to Forced FILM?
I tried telecide() and vdubmod did not like it, It said you must specify the order parameter (0=bff, 1=tff). I changed to order=0 and it played but could not see any difference.
btw, I am looking at how it plays in vdubmod, should I be looking at it somewhere else? If you want to use Telecide(), then it is correct to have field operation None. You *MUST* set the field order correctly for Telecide(). The Tutorial that ships with Decomb explains how to do this. Inspecting the final result in VirtualDubMod or VirtualDub is fine. But don't get hung up on single-stepping. Play the result at full-speed; that's what your viewers will be doing.
Here's a quick and dirty way to determine what to set order to. Look at the D2V file and find the *first* line that starts with a 7 (something like this):
7 0 2048 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Look at the 4th number on this line. Here it is a 0. If this number is a 0 or 1, set order = 0. If this number is 2 or 3, set order = 1. (This assumes DVD2AVI and not DGIndex!).
Finally, for the smoothest output, you should tweak the threshold for FDecimate(), as described in its help file.
torsius
13th January 2005, 19:29
If your feed is indeed a 720p feed, then all frames are already progressive, so field operations are pointless.
If indeed each frame is unique at 59.94fps and you desire 23.976, then a couple calls to Decimate() in Don Graft's Decomb plugin is all you need.
Decimate(2) #cuts framerate in half (now 29.97)
Decimate(5) #removes 1 in 5 frames (now 23.976)
The plugin should remove the frames in an orderly fashion, and keep the video looking smooth on playback.
Try removing all your other calls in your script, and see how if this works :)
Good luck!
EDIT: whoa! sorry neuron2, I didn't know you were the author of the plugin I was talking about! I was just trying to help... :)
Guest
13th January 2005, 19:32
Silly me! I didn't even notice he had 720P.
If that is the case, then omit Telecide(). You can use FDecimate() or the two Decimate() calls to reduce the frame rate.
torsius
13th January 2005, 19:44
btw, a little question kindof OT:
If he really has a 60fps source, is it possible to decimate that to 23.976 smoothly (it's a ratio of 2.5)? Dropping frames surely wouldn't result in smooth playback would it?
Maybe one of the different decimation modes your plugin offers would be better suited? Just curious :)
scharfis_brain
13th January 2005, 20:22
telecined film (23.976fps packed into 59.94fps via a 2:3 Pattern) will benefit from decimation, but video contents like 29.97fps or 59.94 fps will suffer.
patriot69
14th January 2005, 14:17
Originally posted by neuron2
Here's a quick and dirty way to determine what to set order to. Look at the D2V file and find the *first* line that starts with a 7 (something like this):
7 0 2048 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Look at the 4th number on this line. Here it is a 0. If this number is a 0 or 1, set order = 0. If this number is 2 or 3, set order = 1. (This assumes DVD2AVI and not DGIndex!).
Finally, for the smoothest output, you should tweak the threshold for FDecimate(), as described in its help file.
All mine start with 7, but the first one reads
7 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0
So I set order=0
I am still reading and trying to understand thresholds.
patriot69
14th January 2005, 14:28
I have tried playing with all these settings, and it dont seem to help. So now I am looking deeper into the image as to what its doing.
Here is something I find odd.
While viewing the m2v file in vdubmod, if looking at a commericals I might see a pattern like -
AA BB AA BB AA BBB AA BB AA BB AA BBB but its not always perfect like pattern
AA BB AA BB AA BBB AA BB AA BB AA BBB could change to,
AA BB A BB AA BBB A BB AA BBB
But, now if I look at the show (not Commericals), it would not have any dupe frames. Every Frame is different. Without cuts, my m2a file = Frame 118911(0:33:03:832) The Audio is 1:00:07:150
Looking at the B, P and I Frames. Here is a 1 sec part of the show.
5:00:000 5:01:001
000:P 100:P 200:I 300:I 400:P 500:P 600:P 700:P 801:I 901:P 001:P
016:B 116:B 217:B 317:B 417:B 517:B 617:B 717:B 817:B 917:B
033:B 133:B 233:B 333:B 433:B 534:B 634:B 734:B 834:B 934:B
050:P 150:P 250:P 350:P 450:P 550:I 650:P 750:P 851:P 951:P
066:B 167:B 267:B 367:B 467:B 567:B 667:B 767:B 867:B 967:B
083:B 183:B 283:B 386:B 484:B 584:B 584:B 784:B 884:B 984:B
Guest
14th January 2005, 14:32
It just means the base rate of the commercials was not 60fps and so duplicates had to be added to bring them up to 60fps.
patriot69
14th January 2005, 15:58
Originally posted by neuron2
It just means the base rate of the commercials was not 60fps and so duplicates had to be added to bring them up to 60fps.
Ok so would this be causing an effect on the issues I am having?
Guest
14th January 2005, 16:09
If your main content is 60fps without duplicates (I assume you cut out the commercials), and you want to go to 24fps with it, then you have to drop frames one way or another. You're going to get some degree of jerkiness. If you went to 30fps, things would be much better.
Zep
14th January 2005, 21:00
Originally posted by torsius
[B]
Decimate(2) #cuts framerate in half (now 29.97)
Decimate(5) #removes 1 in 5 frames (now 23.976)
The plugin should remove the frames in an orderly fashion, and keep the video looking smooth on playback.
that may not work on many 720p streams due to singletons.
Doing a Decimate(2) will cause massive jumps in motion
unless you are lucky to get a stream without any singletons
which is a flip of a coin. selecteven and selectodd will do
the same thing.
your best bet is to use a type of decimation that if the dupe
threshold is not met then neither frame will be dropped
and the FPS will float then change the FPS later with
assumefps() or convertfps() or whatever if you absolutely MUST
hit a target framerate.
also editing can add singletons to a singleton free stream
or make it so that two original frames are back to back with no
dupes next to them and thus the decimate(2) will drop 1 of those
frames again causing motion jump.
these are some of the reasons DG wrote FDecimate()
NOTE: i have found multidecimate() works better when faced
with wacky patterns and singletons in a 720p stream. Also
written by DG though i wish it had yv12 support :D
patriot69
18th January 2005, 00:53
I have played with all these settings without much luck, I am now looking at other things going on. These came of a HD Tivo and I am beginning to think the problem is how it processes the video. The HD Tivo does some things different to try to save bandwidth. In the mean time I will keep checking back here and working with the tivo forum seeing if other ppl are having the same issues and how to work them out.
Thanks again for all the support! I will keep my progress updated here as well as I learn to solve these issues.
This is a link that explains something things Tivo does.
Tivo Forum (http://www.dealdatabase.com/forum/showthread.php?t=35368&page=48&pp=15)
Patriot
lineman
5th February 2005, 05:09
I have tried to convert the tivo hd 50fps to 23fps with no luck, its the way that DTV is encoding the mpg.....This is a challenge to get it to work
Lineman
nnigam
7th February 2005, 17:10
Your 50fps is incorrect. You must have gotten this by selecting forced film from a 59.94fps stream. Set field operations to none, and you will have a 60fps stream which you can then process. From the menu select Video | Field Operations | None.
The in you avs script use
Selecteven() to get 30fps stream
then decimate(cycle=5) if you want 24fps stream.
2Bdecided
8th February 2005, 11:31
Originally posted by patriot69
my hopes are to make a dvd or even a svcd from this. here is the video source info 1280x536 [32X][8x][Bilinear]
Having established that all frames of the content are different, why not stay at 59.94, re-size it to 720x480, interlace it and output it as standard NTSC video?
I think that'll give you a much better DVD than messing around with the frame rate.
Cheers,
David.
nexx
11th February 2005, 04:39
Random thought:
Would it be possible to turn the 720p into 720i @ 29.97fps - then apply an inverse telecine filter to get 23.9fps? You would of course lose half the vertical resolution though.
Anyway, I dont have these issues, HDTV in Australia is 1080i @ 25fps - and film sources use duplicate fields - no filters required :cool:
Guest
11th February 2005, 04:54
Originally posted by lineman
I have tried to convert the tivo hd 50fps to 23fps with no luck, its the way that DTV is encoding the mpg.....This is a challenge to get it to work I looked at this stuff briefly. Apparently they are dropping frames and storing some kind of record for making them again (as duplicates) during playback. The TFF/RFF flags are wildly illegal for the frames as read from the Tivo disk. Without knowing the details of their decimation, I don't see what you can do.
nnigam
11th February 2005, 15:14
Why are you trying to convert to 23 fps. Is the space saving worth the loss of quality specially with the price of drives these days. If you just want a video for your pc, let it remain at 60fps progressive for best quality. My complete 8 gig hd stream comes down to 700mb including advertisements with Microsoft MPEG-4 Video codec V1. If you want to make a dvd, then ntsc is 29.97 and pal is 25. For ntsc just get rid of every other frame. For Pal at 50fps do the same.
I am having lots of problems with program at 720p 59.94 fps and advertisements at something else. Whatever I try, I get video synch errors. My next step would be to try starting capture after 59.94 fps starts, and cut advertisements including the last second of the 59.94 fps program. I think that once the different frame rate comes into the program, it is difficult to align the video and audio.
I had a suggestion to use fps/audio rate changes to automatically split video but cannot seem to find any utility to do this.
patriot69
16th February 2005, 03:50
Ive tried about everything. I can not get it to work even at 59.94 fps, its choppy and the time lines between the audio and video are different.
Has anyone got Fox or ABC HDTV to allow them to encode?
nnigam
17th February 2005, 15:43
I often get audio synch errors, but that is about it. I just convert to avi so that an 8gig 1 hour program comes down to about 700 mb or so. I resize to 768x438 which maintains the aspect ratio. Since the video is progressive, I just leave it at 59.94 fps. If I had to convert to dvd, then I guess I would have to selecteven to drop the frame rate to the dvd value of 29.97 fps. Audio synching is a hit/miss proposition because the advertisements are at a different audio/video rate. Maybe if the advertisements were accurately cut off there would be beter synching. Mpeg2schnitt is the only program that i know of where I can view video and listen to audio at the same time for cutting, but it can only process mpv files from projectX or some other application. ProjectX gives problems for files over 4gb in my fat32 system. If you have nt system with no file size limitation, you can try that.
Projx works sometime, dgindex works sometimes. I guess the best way would be to get a tool to cut the original .ts file cutting out advertisements so that the remaining file has only one audio/video rate. If one of these tools could be updated to cut into different files whenever the audio/video frame rate changes that would be perfect.
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.