Merge pull request #615 from saleweaver/experimental
Adding headless parameter to arguments to run from the cli, reenabling macOS compatibilitypull/626/head
						commit
						91884eebf7
					
				|  | @ -164,6 +164,8 @@ options: | |||
|   --max-memory MAX_MEMORY                                  maximum amount of RAM in GB | ||||
|   --execution-provider {cpu} [{cpu} ...]                   available execution provider (choices: cpu, ...) | ||||
|   --execution-threads EXECUTION_THREADS                    number of execution threads | ||||
|   --headless                                               run in headless mode | ||||
|   --enhancer-upscale-factor                                Sets the upscale factor for the enhancer. Only applies if `face_enhancer` is set as a frame-processor | ||||
|   -v, --version                                            show program's version number and exit | ||||
| ``` | ||||
| 
 | ||||
|  |  | |||
|  | @ -70,6 +70,10 @@ def parse_args() -> None: | |||
|                          choices=suggest_execution_providers(), nargs='+') | ||||
|     program.add_argument('--execution-threads', help='Number of execution threads', dest='execution_threads', type=int, | ||||
|                          default=suggest_execution_threads()) | ||||
|     program.add_argument('--headless', help='Run in headless mode', dest='headless', default=False, action='store_true') | ||||
|     program.add_argument('--enhancer-upscale-factor', | ||||
|                          help='Sets the upscale factor for the enhancer. Only applies if `face_enhancer` is set as a frame-processor', | ||||
|                          dest='enhancer_upscale_factor', type=int, default=1) | ||||
|     program.add_argument('-v', '--version', action='version', | ||||
|                          version=f'{modules.metadata.name} {modules.metadata.version}') | ||||
| 
 | ||||
|  | @ -98,7 +102,8 @@ def parse_args() -> None: | |||
|     modules.globals.max_memory = args.max_memory | ||||
|     modules.globals.execution_providers = decode_execution_providers(args.execution_provider) | ||||
|     modules.globals.execution_threads = args.execution_threads | ||||
| 
 | ||||
|     modules.globals.headless = args.headless | ||||
|     modules.globals.enhancer_upscale_factor = args.enhancer_upscale_factor | ||||
|     # Handle face enhancer tumbler | ||||
|     modules.globals.fp_ui['face_enhancer'] = 'face_enhancer' in args.frame_processor | ||||
| 
 | ||||
|  |  | |||
|  | @ -30,3 +30,4 @@ fp_ui: Dict[str, bool] = {} | |||
| nsfw = None | ||||
| camera_input_combobox = None | ||||
| webcam_preview_running = False | ||||
| enhancer_upscale_factor = 1 | ||||
|  |  | |||
|  | @ -33,7 +33,10 @@ def get_face_enhancer() -> Any: | |||
|     with THREAD_LOCK: | ||||
|         if FACE_ENHANCER is None: | ||||
|             model_path = resolve_relative_path('../models/GFPGANv1.4.pth') | ||||
|             FACE_ENHANCER = gfpgan.GFPGANer(model_path=model_path, upscale=1)  # type: ignore[attr-defined] | ||||
|             FACE_ENHANCER = gfpgan.GFPGANer( | ||||
|                 model_path=model_path, | ||||
|                 upscale=modules.globals.enhancer_upscale_factor | ||||
|             )  # type: ignore[attr-defined] | ||||
|     return FACE_ENHANCER | ||||
| 
 | ||||
| def enhance_face(temp_frame: Frame) -> Frame: | ||||
|  |  | |||
|  | @ -6,15 +6,17 @@ from typing import Callable, Tuple, List, Any | |||
| from types import ModuleType | ||||
| import cv2 | ||||
| from PIL import Image, ImageOps | ||||
| from pygrabber.dshow_graph import FilterGraph | ||||
| import pyvirtualcam | ||||
| 
 | ||||
| # Import OS-specific modules only when necessary | ||||
| if platform.system() == 'Darwin':  # macOS | ||||
|     import objc | ||||
|     from Foundation import NSObject | ||||
|     import AVFoundation | ||||
| 
 | ||||
| # Import Windows specific modules only when on windows platform | ||||
| if platform.system() == 'Windows' or platform.system() == 'Linux':  # Windows or Linux | ||||
|     from pygrabber.dshow_graph import FilterGraph | ||||
| 
 | ||||
| 
 | ||||
| import modules.globals | ||||
| import modules.metadata | ||||
| from modules.face_analyser import get_one_face | ||||
|  |  | |||
|  | @ -24,3 +24,4 @@ gfpgan==1.3.8 | |||
| pyobjc==9.1; sys_platform == 'darwin' | ||||
| pygrabber==0.2 | ||||
| pyvirtualcam==0.12.0 | ||||
| pyobjc-framework-AVFoundation==10.3.1; sys_platform == 'darwin' | ||||
		Loading…
	
		Reference in New Issue