Frame extraction fails on ffmpeg 7+: `-vsync` was removed in favour of `-fps_mode`

Author: dmitrykarabutovCreated Aug 21, 2026Updated Aug 21, 2026

skills/watch/scripts/frames.py passes -vsync vfr to ffmpeg on lines 256 and 615. That option was deprecated and then removed; current ffmpeg rejects it outright, so scene extraction fails and /watch returns zero frames.

Observed on macOS 15 (Apple Silicon), ffmpeg 9.0.1 installed via Homebrew, watch 0.2.0.

Output:

[watch] extracting scene-aware frames over full 13.0s (target 13, cap 100)…
ffmpeg scene extraction failed: Unrecognized option 'vsync'.
Error splitting the argument list: Option not found

The run still exits 0 and reports success, so it looks like the video simply had no extractable frames rather than like a failure — that part cost more time to diagnose than the flag itself.

Replacing -vsync vfr with -fps_mode vfr in both places fixes it; I've been running patched locally with no issues. -fps_mode has been supported since ffmpeg 5.1, so it may be safe unconditionally, though you may prefer to detect the version if you support older installs.

Happy to open a PR if useful.

Source: bradautomates/claude-video