FixFPS

From Avisynth wiki
Jump to: navigation, search
Abstract
Author Aktan
Version 20170613
Download FixFPS20170613.zip
Category Frame Rate Converters
License Open Source
Discussion TASVideos Forum

Contents

Description

Fix the frames to a more consistent pattern with the help of Matroska Version 2 Timecodes. Mostly useful for fixing weird framerate from using a third party program to capture (ex. .kkapture with Mupen). Generally used with the plugin ExactDedup. It should be noted that FixFPS would try it's best not to lose any frames from the source. It does this by pushing frames to the next available spot, if possible, but it can cause side effects.

Requirements


Syntax and Parameters

FixFPS (clip c, string "times", int "frames", int "div", int "mul")


clip   =
The clip to use as the source.


string  times = "times.txt"
The path to Matroska timecodes (v2).


int  frames = 30000
The output frame count.


int  div = 2
The divider of the original frame rate to align to.


int  mul = 1
The multiplier of the frame rate after the divide.


Examples

Let's say you capture Super Mario 64 with .kkapture and Mupen. You know the gameplay of Super Mario 64 is 30 FPS, but the intro Nintendo logo is 60 FPS. Normally the capture from .kkapture is 120 FPS. So the divider is 120 / 30 = 4 (to align to 30 FPS) and multiplier is 60 / 30 = 2 to output to 60 FPS. Here is a possible script:

LoadPlugin("ExactDedup.dll")
LoadPlugin("FixFPS.dll")
AVISource("Mario64.avi")
trim(0, 5999) # You might want to align to the divider, so in this case a multiple of 4
ExactDedup(firstpass=false, dupinfo="Mario64 dups.txt")
FixFPS(times="Mario64 times.txt", frames=1500, dic=4, mul=2)


Changelog

Version         Date            Changes
20170613 2017-06-13 - Added some smoothing of frames so there is less likely to get jerky movement when the multiplier is greater than 1
20160226 2016-02-26 - Initial release (real date was a few years ago)


External Links




Back to External Filters

Personal tools