dispatcher+ingest — fixes pour test end-to-end réel

- dispatcher: scp du MP4 source vers le worker avant ffmpeg (les chemins .82 ne sont pas accessibles côté .87)
- dispatcher: wrapper shell autour de demo.py pour killer viser dès que le PLY est écrit (setsid + pkill -f frames_dir)
- dispatcher: PLY_ok fallback — accepte rc!=0 si le PLY existe et a une taille > 0
- dispatcher: fallback frame_count abaissé à 150 pour l'estimation VRAM
- ingest: strip du suffixe timezone (+00:00) des timestamps exiftool QuickTimeUTC=1

Testé bout-en-bout sur GX010001.MP4 (70 frames, 10.6M pts PLY, VRAM peak 9.4 GB, kill viser OK).
This commit is contained in:
Poulpe
2026-04-21 12:49:09 +00:00
parent 654bb47825
commit 69eb547463
2 changed files with 49 additions and 8 deletions

View File

@@ -34,7 +34,12 @@ def exif_create_date(path: Path) -> datetime | None:
["exiftool", "-s3", "-CreateDate", "-api", "QuickTimeUTC=1", str(path)],
stderr=subprocess.DEVNULL, text=True, timeout=10,
).strip()
return datetime.strptime(out, "%Y:%m:%d %H:%M:%S") if out else None
if not out:
return None
# Strip timezone suffix (+HH:MM or -HH:MM) if present
import re as _re
out = _re.sub(r'[+-]\d{2}:\d{2}$', '', out).strip()
return datetime.strptime(out, "%Y:%m:%d %H:%M:%S")
except Exception:
return None