AutoWaifu

Intro

AutoWaifu is a tool for upscaling digitally-drawn 2D images and animations using waifu2x-caffe and ffmpeg. waifu2x is a tool that uses neural networks to upscale anime-style drawings, and ffmpeg is a tool for manipulating animations such as video and GIFs. AutoWaifu combines these to provide a simple way to upscale images and animations in your library to much larger resolutions ike 4K or 8K while still looking great.

Upscaling
Convenience
Performance
Batching

Latest stable build (9/27/2017), comes with supporting files, should be extract-and-run

Latest development build (9/27/2017)

Instructions

AutoWaifu starts with a black log window, which will show you any errors that occur. If something happens, troubleshoot based on the error message or contact me below. If AutoWaifu fails to start and you cannot see the log window, you can find a copy of the text log next to AutoWaifu called log.txt. If you need help, send the log.txt and log.json files.

If downloading stable build:

  1. Extract the contents of the ZIP from the stable build to some directory
  2. Run AutoWaifu.exe
  3. Click Settings and change the Input and Output folders as desired, click OK
  4. AutoWaifu will load your files and list them in the Media pane
  5. Click the Start button and let AutoWaifu do the rest
  6. Right-click on an upscaled file to show it in the output folder

If downloading development build:

  1. Follow the directions for downloading stable build if you haven't already
  2. Download development build and place files in the folder that contains the stable build
  3. Run the new build

Supporting Files

These files come with the latest stable build but not with the latest development build.

ffmpeg

waifu2x-caffe

(put these in the same folder as AutoWaifu)

Optional: Iimproved media viewer

AutoWaifu can use the WPFMediaKit library which improves video playback in the media preview window. Download these files and place them with AutoWaifu.exe.


WIP for Next Release

TBD

9/24/2017 Changelog

  • MP4 output with better compatibility
  • Drag and drop files from your file system onto AutoWaifu to copy or move to the Input folder
  • Media Viewer window for images, gifs, mp4s
  • Update checking
  • Bugfix for image drag from the internet sometimes not working
  • Show num frames processed/remaining in a GIF
  • Animation upscaling attempts to use previously-upscaled frames
  • Exposed various settings options in basic grid view (too lazy to add UI for everything)
  • Responsiveness improvements - app now shows window before loading content (previously would load all at once before window was shown)
  • Added headless mode that lets you run AutoWaifu without opening a window (run via command prompt with -headless parameter)
  • Added web server for viewing conversion status, useful if in headless mode (run via command prompt with -status-server parameter, access on port 4444 ie http://localhost:4444)
  • Bugfix - app sometimes crashes when threads setting is greater than 1
  • Added option to ignore certain file extensions (ie if you want to convert all images before moving to animations)
  • AutoWaifu will detect running waifu2x-caffe and ffmpeg instances at startup and offers to terminate them
  • Improved logging
  • Various robustness improvements and minor bugfixes
  • Improved startup time when working with large libraries

5/21/2017 Changelog

  • Basic GIF support
  • Drag and drop images or GIFs from the web onto AutoWaifu to automatically download and upconvert them
  • Various bugfixes and improvements

5/14/2017 Changelog

  • Complete rewrite - Fixed ALL the bugs! (I wish, but it's much better)
  • Core AutoWaifu logic has been separated into a separate library for reuse by bots and tools
  • New Settings page with more upscale resolution options
  • Using Xceed.AvalonDock for organizable interface
  • Added log window, shows warning and error messages for internal operations and external operations (ie ffmpeg, waifu2x-caffe)
  • Log window Debug tab outputs waifu2x-caffe and ffmpeg command-line parameters (if a task fails you can try that command yourself to see what went wrong)
  • Config file uses JSON serialization instead of custom parser
  • Unified API interfaces for WaifuTasks (ie Image, Gif)
  • Flattened input/output/processing queues into a single datastructure to mitigate copying issues when changing task state

Known Bugs/Issues

  • Animation upscaling is limited to 9,999 frames per animation
  • Load balancing is inaccurate when processing animations with threads greater than 1
  • Waifu2x-caffe and ffmpeg occasionally fail with an error, possibly to do with non-ASCII file names
  • Status server output logs don't capture all log messages
  • Smooth playback requires DirectShowLib-2005.dll and EVRPresenter64.dll which are not bundled with the executable (defaults to laggy built-in viewer), download manually here and place the files with AutoWaifu.exe
  • Some settings require app restart to apply
  • Output GIF animation speeds may be incorrect if the GIF has variable frame intervals

TODOs

Ordered by usefulness, existing progress, and difficulty to implement.

Backburner in no particular order


Source code here.
If you have any questions, suggestions, bugs, or comments, send me a PM on reddit at /u/autowaifu
This page last updated on 9/24/2017