n00mkrad / flowframes

Flowframes Windows GUI for video interpolation using DAIN (NCNN) or RIFE (CUDA/NCNN)
GNU General Public License v3.0
1.45k stars 115 forks source link

Possible to output the interpolated frames as jpg in 1.36.0? #293

Closed sprangg closed 8 months ago

sprangg commented 8 months ago

Hello!

I'm trying to interpolate with Flowframes 1.36.0 with a jpg image sequence as the input, but for the life of me I can't figure out how to make Flowframes output the interpolated images in jpg. I'd like to save disk space and the png files it outputs to the "interp" folder take up almost 10x the space compared to jpg.

Is this something that's fixed in 1.40.0 already?

My config settings are as below, and I'm trying to interpolate a video that's in 3840x1920 resolution.

This is what I get in the log when starting, but the interpolation results are still in png format.

[35] [12-16-2023 13:45:29]: Starting...
[36] [12-16-2023 13:45:29]: RefreshAlpha: model.supportsAlpha = True - outputSupportsAlpha = False - input ext: .jpg => alpha = False
[37] [12-16-2023 13:45:29]: RefreshExtensions(Import) - alpha = False pngOutput = False aviHqChroma = False proresHqChroma = False
[38] [12-16-2023 13:45:29]: RefreshExtensions - Using '.jpg' for imported frames, using '.jpg' for interpolated frames
[39] [12-16-2023 13:45:29]: Extracting scenes from video...
{
  "aiCombox": "0",
  "allowConsecutiveSceneChanges": "True",
  "allowCustomInputRate": "False",
  "allowCustomInterpFactor": "False",
  "allowSymlinkEncoding": "True",
  "allowSymlinkImport": "True",
  "alwaysWaitForAutoEnc": "False",
  "askedForDevModeVersion": "",
  "autoEncBackupMode": "2",
  "autoEncDebug": "False",
  "autoEncMode": "2",
  "autoEncSafeBufferCuda": "90",
  "aviCodec": "ffv1",
  "aviColors": "yuv420p",
  "clearLogOnInput": "True",
  "cmdDebugMode": "0",
  "compressedPyVersion": "1.36.0",
  "customServer": "",
  "custOutDir": "",
  "dainNcnnTilesize": "768",
  "dedupMode": "0",
  "dedupThresh": "2",
  "delLogsOnStartup": "True",
  "disablePreview": "False",
  "dupeScanDebug": "False",
  "enableAlpha": "False",
  "enableLoop": "False",
  "exportNamePattern": "[NAME]-[FACTOR]x-[AI]-[MODEL]-[FPS]fps",
  "exportNamePatternLoop": "-Loop[LOOPS]",
  "fetchModelsFromRepo": "False",
  "ffEncArgs": "",
  "ffEncPreset": "Medium",
  "ffEncThreads": "0",
  "fixOutputDuration": "False",
  "frameOrderDebug": "False",
  "gifColors": "128 (High)",
  "gifDitherType": "bayer (Recommended)",
  "h264Crf": "20",
  "h265Crf": "15",
  "imgSeqFormat": "JPG",
  "imgSeqQuality": "0",
  "imgSeqSampleCount": "10",
  "jpegFrames": "True",
  "jpegInterp": "True",
  "keepAspectRatio": "True",
  "keepAudio": "True",
  "keepColorSpace": "True",
  "keepMeta": "True",
  "keepSubs": "True",
  "keepTempFolder": "True",
  "loopMode": "0",
  "lowDiskSpaceCancelGb": "2",
  "lowDiskSpacePauseGb": "5",
  "maxFps": "",
  "maxFpsMode": "0",
  "maxVidHeight": "2160",
  "minOutVidLength": "5",
  "mp4Enc": "1",
  "mpdecimateMode": "0",
  "ncnnGpus": "0",
  "ncnnThreads": "1",
  "outFolderLoc": "0",
  "outModeCombox": "0",
  "pixFmt": "0",
  "processingMode": "0",
  "proResProfile": "2",
  "rifeCudaBufferSize": "200",
  "rifeCudaFp16": "False",
  "sbsAllowAutoEnc": "False",
  "sceneChangeFillMode": "1",
  "scnDetect": "True",
  "scnDetectValue": "0.2",
  "serverCombox": "0",
  "silentDevmodeCheck": "True",
  "tempDirCustom": "D:/",
  "tempFolderLoc": "0",
  "torchGpus": "0",
  "uhdThresh": "1600",
  "vp9Crf": "28"
}
sprangg commented 8 months ago

I see now that in version 1.38.0 the png file output step is no longer needed when using VapourSynth, and the interpolation is written straight into the mp4. Fantastic, this solves all the hard disk consumption issues!