mirror of
https://github.com/hacksider/Deep-Live-Cam.git
synced 2025-03-17 21:31:51 +01:00
Merge pull request #615 from saleweaver/experimental
Adding headless parameter to arguments to run from the cli, reenabling macOS compatibility
This commit is contained in:
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
|
||||
|
||||
|
@ -29,4 +29,5 @@ log_level = 'error'
|
||||
fp_ui: Dict[str, bool] = {}
|
||||
nsfw = None
|
||||
camera_input_combobox = None
|
||||
webcam_preview_running = False
|
||||
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
|
||||
|
@ -23,4 +23,5 @@ tqdm==4.66.4
|
||||
gfpgan==1.3.8
|
||||
pyobjc==9.1; sys_platform == 'darwin'
|
||||
pygrabber==0.2
|
||||
pyvirtualcam==0.12.0
|
||||
pyvirtualcam==0.12.0
|
||||
pyobjc-framework-AVFoundation==10.3.1; sys_platform == 'darwin'
|
Loading…
x
Reference in New Issue
Block a user