Deepfake Authenticator commited on
Commit
3df7b7b
Β·
1 Parent(s): e0772b8

fix: auto fast_mode by duration, restore threshold 0.58

Browse files
Files changed (2) hide show
  1. backend/detector.py +1 -1
  2. backend/main.py +14 -1
backend/detector.py CHANGED
@@ -380,7 +380,7 @@ class DecisionAgent:
380
  # Agent 4: Report Generator Agent
381
  # ─────────────────────────────────────────────
382
  class ReportGeneratorAgent:
383
- BASE_THRESHOLD = 0.54
384
 
385
  def generate(self, analysis: dict, metadata: dict, audio: dict | None = None) -> dict:
386
  prob = analysis["overall_fake_probability"]
 
380
  # Agent 4: Report Generator Agent
381
  # ─────────────────────────────────────────────
382
  class ReportGeneratorAgent:
383
+ BASE_THRESHOLD = 0.58 # Restored β€” 0.54 caused false positives
384
 
385
  def generate(self, analysis: dict, metadata: dict, audio: dict | None = None) -> dict:
386
  prob = analysis["overall_fake_probability"]
backend/main.py CHANGED
@@ -295,7 +295,20 @@ async def analyze_video(
295
  logger.info(f"File is {suffix} β€” no conversion needed")
296
 
297
  logger.info(f"Calling authenticator.analyze({analyze_path})")
298
- result = authenticator.analyze(str(analyze_path), fast_mode=True) # fast mode for extension uploads
 
 
 
 
 
 
 
 
 
 
 
 
 
299
 
300
  # Increment usage counter if API key provided
301
  if x_api_key:
 
295
  logger.info(f"File is {suffix} β€” no conversion needed")
296
 
297
  logger.info(f"Calling authenticator.analyze({analyze_path})")
298
+ # Use fast mode only for short extension captures (< 30s), full mode for uploaded files
299
+ video_meta = None
300
+ try:
301
+ import cv2
302
+ cap = cv2.VideoCapture(str(analyze_path))
303
+ fps = cap.get(cv2.CAP_PROP_FPS)
304
+ total = cap.get(cv2.CAP_PROP_FRAME_COUNT)
305
+ cap.release()
306
+ duration = total / fps if fps > 0 else 999
307
+ except Exception:
308
+ duration = 999
309
+ fast = duration < 30 # extension captures are ~8s; uploaded files are longer
310
+ logger.info(f"Video duration: {duration:.1f}s β†’ fast_mode={fast}")
311
+ result = authenticator.analyze(str(analyze_path), fast_mode=fast)
312
 
313
  # Increment usage counter if API key provided
314
  if x_api_key: