ffmpeg 9.x: -vsync removed, breaks scene-aware frame extraction

Author: cheeann18Created Sep 4, 2026Updated Sep 4, 2026

Bug

scripts/frames.py passes -vsync vfr to ffmpeg. ffmpeg 9.x (current Homebrew bottle, e.g. 9.0.1) removed -vsync in favor of -fps_mode. Any --detail balanced/token-burner run (scene-aware extraction) fails immediately:

ffmpeg scene extraction failed: Unrecognized option 'vsync'.
Error splitting the argument list: Option not found

Repro

  1. Fresh install via /plugin install watch@claude-video, first-run setup.py installs ffmpeg via brew (pulls current 9.0.1 bottle).
  2. python3 scripts/watch.py "<youtube-url>" --start 5 --end 15
  3. Download + captions succeed, frame extraction fails with the error above.

Fix

Replace -vsync vfr with -fps_mode vfr (drop-in rename, same semantics). Two occurrences in scripts/frames.py:

scripts/frames.py:256
scripts/frames.py:615

Confirmed the rename fixes extraction locally — frames generate correctly after the swap.

Environment

  • macOS (Darwin), Homebrew ffmpeg 9.0.1_1
  • yt-dlp 2026.8.19
  • Plugin installed via Claude Code marketplace, fresh first run

Source: bradautomates/claude-video