Duplicate Frame Remover


Version: 2.03 Sign up to be notified by email when a new version of this script is posted
Using the same engine as Magnum The Edit Detector, this script scans the footage and removes the duplicate frames by setting hold keyframes on the layer’s time-remapping channel. This could come in handy on roto jobs where the footage has funky pulldown or any other occasion where you need to remove duplicate frames from a clip. Version 2.0 introduces a Region of Interest feature which allows you to localize the area where the script will look for changes in the footage to detect the duplicate frames.
Thanks to Patrick Smith for allowing us to use his footage in the demo video
Version History
- 2.03 Fixed work area calculation – July 2010
- 2.02 Fixed help window, blessed for CS5 – May 2010
- 2.01 Fixed small outPoint bug – April 2010
- 2.0 – Added dockable UI and Region of Interest feature – April 2010
- 1.0 – Initial Release – Feb 2008
- Duplicate Frame Remover 2.0 UI








Very useful script. It helped me with a roto job that had a lot of duplicate frames and made my life much easier
Thanks Lloyd!
Alex
Wow, I don’t believe this, I just had a job where I’d rendered 23.98 comps to 29.97 duplicating frames instead of putting pulldown in it (part of the project was built at 29.97 native and I didn’t want to deliver a mix of pulldown and progressive, it was a big job with at least 4 animators working to different specs as usual), the client didn’t want to pay for a pal conversion and then when they couldn’t do it themselves wanted us to do it for free (bastards!!)
Anyway I was laying awake thinking about how to do it last night and reckoned that if I couldn’t get rid of the duplicate frames by nesting correctly I’d try to re-engineer your Magnum script to help me spot the duplicates.
Nesting worked but I decided to give writing a script a go anyway , I come here you’ve already built the script for me!!
Damn!! How will I ever learn if you keep doing the work for me you bastard!!
Seriously, thanks a million, I know I’ll need to use this someday, you’re the man!!
glennser
Just what I was looking for. Tip: comp that the clip is placed in should be no longer than the duration of the clip you are cleaning up.
Tip: If you are trying to use this script with a layer that has a bulit-in alpha channel and the script is removing all the frames, try precomping the layer with a solid bg (ie. to remove the transparency) and it should work as expected.
gracias
every time i run the script it says the script doesn’t work in line 48 because null is not an object. im using ae cs3. is there maybe another version of the script that i could try out?
big thanks,
david
Hi David,
Are you running AE in english? This script only runs properly in english.
Yes, the problem was my cs3 was set on german. In the english version it works perfectly. Thank you very much.
By the way… The easyest way to run AE in English is to open the LANGUAGES Subfolder and Select the English Version. Basically, this does nothing more than putting the -L EN Addition to the Shortcut, but its already prepared and ready to go.
veryg ood
Is it possible to modify this to just mark all duplicate frames without setting hold key frames?
I am looking for a simple way to create seamless loops by finding the two outer most matching frames.
Thanks for sharing this..
A great help.
I’m amazed, thank you very much! Please be free to contact me if you need anything regarding architecture, 3dstudio max and dvd authoring.
Hi,
I have purchased your duplicate remove script but when i use this script footage speed was increase. so how can i keep my speed as well as.
When I use it, it only divides up the frames. But the repeats still render. I would have to manually go through and delete repeated frames. What am I doing wrong?
Thanks
I run the script and the scripting toolkits opens and highlights line 199 of the script.
AE can run out of memory if you are trying to process too many frames at once (like 1000 or more) so it is best to break up your sequence into pieces and run the script on each part individually.
Removes too many frames with the Threshold at .4 and not enough at .3. Any ideas? How do I set for increments in between one tenth?