* Add preview functionality to effmpeg. (#435)
* Add preview functionality to effmpeg.
effmpeg tool:
Preview for actions that have a video output now available.
Preview does not work when muxing audio.
* Model json unicode fix1 (#443)
* fixed Windows 10 path error while loading weights
* - fixed TypeError: the JSON object must be str, not 'bytes' with OriginalHighRes Model
* MTCNN Extractor and Extraction refactor (#453)
* implement mtcnn extractor
* mtcnn refactor and vram management changes
* cli arguments update for mtcnn/dlib split
* Add mtcnn models to gitignore
* Change multiprocessing on extract
* GUI changes to handle nargs defaults
* Early exit bugfix (#455)
* Fix extract early termination bug
* Fix extract early exit bug
* Multi face detection bugfix (#456)
* Multi face extraction fix
* Original high res cleanup 1 (#457)
* slight model re-factoring
- removed excess threading code
- added random kernel initialization to dense layer
* Slight OriginalHighRes re-factoring an code cleanup
All:
Set correct python3 shebang.
lib/cli.py:
Fix some help documentation formatting and typos.
Set 'json' as the default value for '--serializer' argument.
lib/Serializer.py:
Refactor to properly handle PyYAML not being available.
Add docstring at top of the file.
Improve PEP8 conformity.
scripts/fsmedia.py:
Modify lib/Serializer.py method call to match new name.
Modify lib/Serializer.py method call to match not needing a default.
tools/sort.py:
Add new group by 'face-yaw' method.
Add docstring at top of the file.
Re-arrange argument order to make more sense.
Fix typos and line length issues in help documentation.
Change to use lib/Serializer.py to set the serializer and to write the log file.
Allow sort logging to use PyYAML.
* Pre push commit.
Add filetypes support to gui through new classes in lib/cli.py
Add various new functions to tools/effmpeg.py
* Finish developing basic effmpeg functionality.
Ready for public alpha test.
* Add ffmpy to requirements.
Fix gen-vid to allow specifying a new file in GUI.
Fix extract throwing an error when supplied with a valid directory.
Add two new gui user pop interactions: save (allows you to create new
files/directories) and nothing (disables the prompt button when it's not
needed).
Improve logic and argument processing in effmpeg.
* Fix post merge bugs.
Reformat tools.py to match the new style of faceswap.py
Fix some whitespace issues.
* Fix matplotlib.use() being called after pyplot was imported.
* Fix various effmpeg bugs and add ability do terminate nested subprocess
to GUI.
effmpeg changes:
Fix get-fps not printing to terminal.
Fix mux-audio not working.
Add verbosity option. If verbose is not specified than ffmpeg output is
reduced with the -hide_banner flag.
scripts/gui.py changes:
Add ability to terminate nested subprocesses, i.e. the following type of
process tree should now be terminated safely:
gui -> command -> command-subprocess
-> command-subprocess -> command-sub-subprocess
* Add functionality to tools/effmpeg.py, fix some docstring and print statement issues in some files.
tools/effmpeg.py:
Transpose choices now display detailed name in GUI, while in cli they can
still be entered as a number or the full command name.
Add quiet option to effmpeg that only shows critical ffmpeg errors.
Improve user input handling.
lib/cli.py; scripts/convert.py; scripts/extract.py; scripts/train.py:
Fix some line length issues and typos in docstrings, help text and print statements.
Fix some whitespace issues.
lib/cli.py:
Add filetypes to '--alignments' argument.
Change argument action to DirFullPaths where appropriate.
* Bug fixes and improvements to tools/effmpeg.py
Fix bug where duration would not be used even when end time was not set.
Add option to specify output filetype for extraction.
Enchance gen-vid to be able to generate a video from images that were zero padded to any arbitrary number, and not just 5.
Enchance gen-vid to be able to use any of the image formats that a video can be extracted into.
Improve gen-vid output video quality.
Minor code quality improvements and ffmpeg argument formatting improvements.
* Remove dependency on psutil in scripts/gui.py and various small improvements.
lib/utils.py:
Add _image_extensions and _video_extensions as global variables to make them easily portable across all of faceswap.
Fix lack of new lines between function and class declarions to conform to PEP8.
Fix some typos and line length issues in doctsrings and comments.
scripts/convert.py:
Make tqdm print to stdout.
scripts/extract.py:
Make tqdm print to stdout.
Apply workaround for occasional TqdmSynchronisationWarning being thrown.
Fix some typos and line length issues in doctsrings and comments.
scripts/fsmedia.py:
Did TODO in scripts/fsmedia.py in Faces.load_extractor(): TODO Pass extractor_name as argument
Fix lack of new lines between function and class declarions to conform to PEP8.
Fix some typos and line length issues in doctsrings and comments.
Change 2 print statements to use format() for string formatting instead of the old '%'.
scripts/gui.py:
Refactor subprocess generation and termination to remove dependency on psutil.
Fix some typos and line length issues in comments.
tools/effmpeg.py
Refactor DataItem class to use new lib/utils.py global media file extensions.
Improve ffmpeg subprocess termination handling.
* Refactor for PEP 8 and split process function
* Remove backwards compatibility for skip frames
* Split optional functions into own class. Make functions more modular
* train.py - Fix write image bug. Make more modular
* convert.py: Extract alignments from frames if they don't exist
* BugFix: SkipExisting broken since face name refactor
* train.py - Semi-fix for hang on reaching target iteration. Now quits on preview mode
Make tensorflow / system warning less verbose
* Final bugfixes
* Add 'all' back in for selectable detectors
* Final minor tweaks
* Refactor for PEP 8 and split process function
* Remove backwards compatibility for skip frames
* Split optional functions into own class. Make functions more modular
* Conform scripts folder to PEP 8
* train.py - Fix write image bug. Make more modular
* extract.py - Make more modular, Put optional actions into own class
* cli.py - start PEP 8
* cli,py - Pep 8. Refactor and make modular. Bugfixes
* 1st round refactor. Completely untested and probably broken.
* convert.py: Extract alignments from frames if they don't exist
* BugFix: SkipExisting broken since face name refactor
* Extract.py tested
* Minor formatting
* convert.py + train.py amended not tested
* train.py - Semi-fix for hang on reaching target iteration. Now quits on preview mode
Make tensorflow / system warning less verbose
* 2nd pass refactor. Semi tested
bugfixes
* Remove obsolete code. imread/write to Utils
* rename inout.py to fsmedia.py
* Final bugfixes