Frame extraction fails on FFmpeg 9: `-vsync` was removed
Author: Beatkim96Created Aug 30, 2026Updated Aug 30, 2026
Summary
/watch fails during frame extraction on FFmpeg 9.x. scripts/frames.py passes
-vsync vfr, but -vsync was removed in FFmpeg 9 — it had been deprecated
since FFmpeg 5.x in favour of -fps_mode.
Download and caption fetching both succeed; only frame extraction breaks.
Error
[watch] extracting scene-aware frames over 06:20-06:55 (35.0s) (target 40, cap 40)…
ffmpeg scene extraction failed: Unrecognized option 'vsync'.
Error splitting the argument list: Option not foundEnvironment
- Windows 11
- ffmpeg/ffprobe 9.0.1-full_build (Gyan.FFmpeg via winget)
- Python 3.11.9
- yt-dlp 2026.08.19
Cause
-vsync is gone in FFmpeg 9. Confirmed locally:
$ ffmpeg -h full | grep fps_mode
-fps_mode[:<stream_spec>] set framerate mode for matching video streams
$ ffmpeg -h full | grep vsync
(no match — only the unrelated "avsynctest" filter)Suggested fix
Two occurrences in skills/watch/scripts/frames.py (lines 256 and 615):
- "-vsync", "vfr",
+ "-fps_mode", "vfr",Backward compatibility
-fps_mode was added in June 2022
and has been available since FFmpeg 5.1, so this change does not drop support
for any FFmpeg version that the current code supports — -vsync was already
deprecated by then. FFmpeg's own test suite
made the same replacement.
Happy to open a PR if that's useful.
Source: bradautomates/claude-video