You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
59 lines
2.2 KiB
PowerShell
59 lines
2.2 KiB
PowerShell
$ErrorActionPreference = "Stop"
|
|
|
|
$root = Split-Path -Parent $MyInvocation.MyCommand.Path
|
|
|
|
Get-CimInstance Win32_Process |
|
|
Where-Object { $_.Name -like "python*" -and ($_.CommandLine -match "main\.py" -or $_.CommandLine -match "ui_server\.py") } |
|
|
ForEach-Object { Stop-Process -Id $_.ProcessId -Force }
|
|
|
|
New-Item -ItemType Directory -Force -Path `
|
|
"$root\runtime-data\logs", `
|
|
"$root\runtime-data\ui", `
|
|
"$root\runtime-data\guidance", `
|
|
"$root\runtime-data\autopilot", `
|
|
"$root\runtime-data\out" | Out-Null
|
|
|
|
$env:PYTHONUNBUFFERED = "1"
|
|
$env:FPV_DATA_DIR = "$root\runtime-data"
|
|
$env:FPV_UI_PORT = "8080"
|
|
$env:FPV_UI_LOG_PATH = "$root\runtime-data\logs\main.log"
|
|
$env:FPV_UI_FRAME_PATH = "$root\runtime-data\ui\latest.jpg"
|
|
$env:FPV_UI_GUIDANCE_PATH = "$root\runtime-data\guidance\guidance_state.json"
|
|
$env:FPV_UI_OUT_DIR = "$root\runtime-data\out"
|
|
|
|
$ui = Start-Process `
|
|
-FilePath "$root\.venv\Scripts\python.exe" `
|
|
-ArgumentList "ui_server.py" `
|
|
-WorkingDirectory $root `
|
|
-RedirectStandardOutput "$root\runtime-data\logs\ui.log" `
|
|
-RedirectStandardError "$root\runtime-data\logs\ui.err.log" `
|
|
-WindowStyle Hidden `
|
|
-PassThru
|
|
|
|
$env:FPV_MODEL_PATH = "$root\best.pt"
|
|
$env:FPV_SOURCE = "$root\runtime-data\input\source.mp4"
|
|
$env:FPV_SHOW_OUTPUT = "0"
|
|
$env:FPV_VIDEO_REALTIME = "1"
|
|
$env:FPV_SAVE_INFER_VIDEO = "1"
|
|
$env:FPV_OUT_VIDEO_PATH = "$root\runtime-data\out\out_infer.mp4"
|
|
$env:FPV_UI_FRAME_EXPORT_ENABLE = "1"
|
|
$env:FPV_UI_FRAME_EXPORT_PATH = "$root\runtime-data\ui\latest.jpg"
|
|
$env:FPV_UI_FRAME_EXPORT_EVERY = "1"
|
|
$env:FPV_UI_FRAME_EXPORT_JPEG_QUALITY = "80"
|
|
$env:FPV_GUIDANCE_EXPORT_ENABLE = "1"
|
|
$env:FPV_GUIDANCE_EXPORT_PATH = "$root\runtime-data\guidance\guidance_state.json"
|
|
$env:FPV_AUTOPILOT_ENABLE = "1"
|
|
$env:FPV_AUTOPILOT_BACKEND = "json"
|
|
$env:FPV_AUTOPILOT_JSON_PATH = "$root\runtime-data\autopilot\autopilot_cmd.json"
|
|
|
|
$main = Start-Process `
|
|
-FilePath "$root\.venv\Scripts\python.exe" `
|
|
-ArgumentList "-u", "main.py" `
|
|
-WorkingDirectory $root `
|
|
-RedirectStandardOutput "$root\runtime-data\logs\main.log" `
|
|
-RedirectStandardError "$root\runtime-data\logs\main.err.log" `
|
|
-WindowStyle Hidden `
|
|
-PassThru
|
|
|
|
"ui_pid=$($ui.Id) main_pid=$($main.Id) url=http://localhost:8080"
|