!7 import org.jcodec.api.awt.AWTSequenceEncoder8Bit; static int framesToEncode = 100000; p { inputFilePath("Video to copy", voidfunc(final File video) { thread { File outFile = prepareProgramFile(addSuffix("reencoded-" + video.getName(), ".mp4")); AWTSequenceEncoder8Bit enc = AWTSequenceEncoder8Bit.create25Fps(outFile); enc.getEncoder().setKeyInterval(25); int n = 0; for (BufferedImage img : framesFromVideo_reordering(video)) { img = invertedImage(img); enc.encodeImage(img); print("Frames: " + n + "/" + framesToEncode); if (++n >= framesToEncode) break; } enc.finish(); print("Wrote " + f2s(outFile) + " (" + n + " frames)"); } }); }