Releases: akai-katto/dandere2x
New Console + Paying Technical Debt + CV2 Improvements
Another commit in my long series of cleaning the technical debt in Dandere2x.
Changes from 2.0
- New console with more descriptive and clean printing. Currently does not save to a file.
- Removed 'quality_moving" images, since block matching needs to be R&D'd better.
- Added error indicating the user may of not downloaded the externals files needed (received PM's about this)
- Uses CV2 to count the number of frames in a video (hoping this will reduce some bugs)
Notes
- "DAR" is not added here - still cleaning technical debt on how to handle this cleanly.
new console + fixing DAR bug
disabled DAR for now (implementing a fix eventually)
Release Candidate
Major Changes In Testing
- Resume functionality added back in it's primative form.
- All upscaling-like applications now all are derived from the same "AbstractUpscaler" class, hoping this makes maintaining upscalers easier.
- Auto deletes workspace after completion (can toggle this in the yaml)
- Download externals from a static github repo (as opposed to having to re-upload them each release)
- Prettier status bar
- Re-added upscale folder functionality.
- Gives an error if waifu2x failed to upscale a test image (should help debug user issues)
- Gives descriptive error if file name is invalid (this is in the works)
- Implemented 'rotations' functionality for videos with this ffprobe flag.
- Being able to select config file
Known Bugs
- Downloading externals requires a restart
Stability Testing
SSIM, Bug Fixes, New Default FFMPEG Settings
Note, this release only includes vulkan. A full version will be released later
Patch Notes
-
SSIM is now the default binary. Expect your quality settings to change, but functionality works the same.
-
Implemented "Preserve aspect ratio during conversion" , which maintains the aspect ratio after d2x resizing. (thank you @iwalton3, my apologies for the lag).
-
Fixed bug where height / width would get swapped on some videos depending on video format.
-
Fixed bug where the average of the last 10 frames weren't showing up.
-
Re-added runtime duration.
-
Changed default ffmpeg settings, as articulated in this post: https://www.reddit.com/r/Dandere2x/comments/gqhhgj/i_posted_an_ai_upscaled_liveaction_video_with/
Experimental Build
-
Uses OpenCV2 instead of ffmpeg to extract frames
-
Videos are pre-processed using ffmpeg to remove sources for error (variable frame rate, bad audio migrations, etc)
-
Resume feature disabled as it's not working.
The hope of this release is to hopefully fix some of the long standing bugs d2x has been facing, particularly with various container formats that weren't friendly with ffprobe / opencv2.
edit:
0.1.9.3 fixes a shortsighted bug found on 0.1.9.2
0.1.9.4 - fixed bug where opencv would crash if extracting frames too quickly
SSIM Binary
Binary for dandere2x_cpp.exe that allows dandere2x to work with the SSIM metric rather than MSE. Not the most tested, but I've been getting extremely consistent results.
Bug Fixes, Upscale Folder, CLI
Upscale Folder + CLI
Dandere2x now has a CLI component, which is combined with the GUI. The main appeal of the CLI is that folders can be upscaled from it, while the GUI only (currently) supports single video inputs.
Upscale Folder Tutorial
-
Run cmd.exe as administrator
-
'cd' into your dandere2x directory.
-
Run 'dandere2x.exe -i C:\your_videos_here\ -o C:\output_videos_here'
You can also run 'dandere2x.exe -h' for more options. Be warned - it takes a while for the executable to startup. This is a result of using pyinstaller.
Bug Fixes
Horizontal Videos No Longer Broken
Thank you tremex for finding the source of the 'black bottom' bug.
Re-added deleting of workspace to dandere2x session starts
I forgot to re-add the code that required the workspace to be clear before dandere2x starts, and caused a lot of issues for people. The code is re-added
Known Bugs
-
If you shutdown dandere2x prematurely, there may be a chance ffmpeg.exe is running in the background somewhere, which will prevent a folder from being deleted. You can fix this by either using task manager to kill the 'floating' ffmpeg.exe' or using the cmd command: 'taskkill /f /im ffmpeg.exe
-
If dandere2x isn't working, try setting the yaml config of 'use_min_disk:' to false. Some user reports that this fixes some issues associated with progressive frame extraction.
-
User reports audio mismatch, investigating
resume bug fixes
Bug Fixes
-
Fixed bug where append resize filter wasn't working
-
Fixed bug where GUI settings weren't reflective of actual videos settings.
First Linux Working Release (no binaries, build it yourself)
This release is for linux users, if you're on windows, use this
https://github.com/aka-katto/dandere2x/releases/tag/1.3.1
Building Dandere2x for Linux
This should be somewhat universal to windows, but this is how I would build the dandere2x myself for linux.
Requirements
gcc
cmake
python3
pip3
python3-venv
ffmpeg
waifu2x-ncnn-vulkan snap -> ubuntu: sudo snap install waifu2x-ncnn-vulkan --edge
Building Commands
cd /home/linux/dev
this can be any folder you want
wget https://github.com/aka-katto/dandere2x/archive/0.1.4.4.tar.gz
tar -xf 0.1.4.5.tar.gz
cd dandere2x-0.1.4.5
cd dandere2x_cpp
cmake CMakeLists.txt
make
cd ..
mkdir src/externals
mv dandere2x_cpp/dandere2x_cpp src/externals/dandere2x_cpp
cd src
mkdir workspace
python3 -m venv venv
source venv/bin/activate
pip3 install -r requirements.txt
python3 gui_driver.py
At this point, the gui_driver should launch.
Known Issues
-
Converter_cpp was never fully ported to linux, in development at the moment
-
The frames-per-second thing doesn't update on my system, I'm not sure about others.
-
tile-size on waifu2x-ncnn-vulkan doesn't accept 200 as arguments, set it to null or use "-t" instead for the time being.
-
Waifu2x-ncnn-vulkan doesn't upscale folder in alphabetical order, (fixed in nihui/waifu2x-ncnn-vulkan@f3628c4)
Potential Issues
- The snap for w2x-vulkan installs it under
"waifu2x_ncnn_vulkan_path": "/snap/waifu2x-ncnn-vulkan/86/bin",
for me. If it didn't install it here, then you'll need to find where your waifu2x is installed from snap.
-
If the snap package were to suddenly update, this version is broken, as this is running of legacy w2x-vulkan
-
If you're using waifu2x-ncnn-vulkan installed from the snap, you'll need to use the waifu2x_vulkan_legacy option in the GUI.