n00mkrad / flowframes

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

Delete already encoded frames doesn't delete some frames #269

Open BrutolocoW opened 1 year ago

BrutolocoW commented 1 year ago

Hi n00mkrad,

I am using the latest free version, I have been determined to make the CUDA engine work only in RAM, using Ramdisk for it.

I have discovered that the low space mode does not work correctly with some models, such as the latest one, for example, 4.0.

But I have looked for other ways by altering the priority of the python.exe process in the windows registry to be lower than that of ffmpeg.exe permanently. And I have succeeded, but sometimes I have problems.

I see that the automatic deletion leaves many frames without deleting, I think they are precisely the frames that are omitted in the encoding due to scene change detection, those frames should be deleted anyway once the part of the video that includes them has been encoded.

However, every time a video ends completely, the program deletes the entire temporary file, which allows you to process a list of videos only in ram, as long as it doesn't cause an error.

I think this arrangement shouldn't be difficult to program, it would help a lot by making it easier to process in ram using cuda method, In my case I have seen that it gives me better results, it is not only faster.

And it would be nice to be able to manually choose the size of the video pieces, by number of images it would be ideal. I have seen that the size varies according to the length of the video, unnecessarily in my opinion, I think it should be a fixed size.

Greetings and thank you very much for this great GUI

jensdraht1999 commented 1 year ago

I tried Autoencode with "low space mode" and it only delete all images to the current point of encoded vchunks, but it does not delete the original images folder. And I assume to know why, because it will need the original frames of the video and then apply imagemagick blend filter, so it cannot delete those.

I think this could be fixed by developer by changing the workflow: Extract Images -> Blend images of scene changes and put them in a different folder -> Then interpolate with autoencode -> If FlowFrames has reached a interpolated frame, then stop interpolation -> Endcode Video Chunk -> Then delete all images of original image folder and also interpolated folder until the next scene change happens - Do this until the video ends.

However, this will definitly not work in ramdisk, this is something I can assure you, because how you would achive it.

Let's say you have extracted a movie 4k with 90 min runtime. Just extracting those images will take more than 25 gb and if not more. Most people have not enough ram for this.

To be honest, this is a non issue. Ram is much more expensive than ssd drive space and also if you do it for performance reasons, then don't, because this is not the bottleneck.