-
Notifications
You must be signed in to change notification settings - Fork 176
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
192-Frame-Limit Bug Fix + Fixed Seed Not Randomizing + Adjustable Video Birate with FFMPEG + Auto-Detecting/Aborting/Retrying Bad Renders #83
base: main
Are you sure you want to change the base?
Conversation
Hotfix for multi-gpu error: SkyworkAI#66
Changed wrong file
…not divisible by world_size=2 See SkyworkAI#66
Rewrote the hotfix to scale more generally past 2 GPUs. Tested on 4 GPUs, 2 GPUs, and 1 GPU.
Workaround for 192-frame-limit bug by using Riflex to extrapolate. Credits to Kijai for finding it in ComfyUI and thu-ml for creating it.
I've added a fix to the 192-frame-limit bug by applying the Riflex extrapolation technique by thu-ml (credit Kijai for using it in ComfyUI and making me aware of it). This is a pretty solid workaround until there's a true fix for why the video turns to static noise on frame 193 and resets. I posted the bug earlier here: #63 |
… by using Riflex to extrapolate. Credits to Kijai for finding it in ComfyUI and thu-ml for creating it.
I added another useful (probably the most useful) parameter "--detect_bad_renders" for automatically detecting, aborting, and retrying a videos that become random still images or scene changes (or is likely to become so based on latent analysis early in the sampling process). This saves you time by aborting early if it is detecting a bad video and also retries with different seed automatically. There are 4 parameters:
Example prompt now with this and other features in this fork:
For multi-GPU, variety batch of 10-sec videos with Riflex (automatic at frames>193)
|
This pull request fixes a few crucial things + quality of life improvements. The 192-frame limit bug is fixed with Riflex extrapolation that only kicks in when frames > 192. The seed also never randomizes (defaults to 42 and randomizer checks for seed<0). Lastly the video output is poor quality, so I reimplemented it with FFMPEG. The FFMPEG will be used only when available, otherwise defaulting to the OpenCV video export you had before (but actually still higher bitrate at ~7mbps instead of 2.5mbps because of setting the cap higher there as well).
See:
#72
#79