frames.py fails on newer ffmpeg: removed -vsync option (use -fps_mode instead)
Summary
scripts/frames.py passes ffmpeg the removed -vsync option, so frame extraction fails outright on newer ffmpeg builds where -vsync has been dropped in favor of -fps_mode.
Environment
- Platform: Windows
- ffmpeg version: 9.0.1-full_build (Gyan.FFmpeg build)
- Plugin version: 0.2.0
Exact error
ffmpeg scene extraction failed: Unrecognized option 'vsync'.
Error splitting the argument list: Option not foundRoot cause
Two call sites in scripts/frames.py build an ffmpeg command with:
"-vsync", "vfr",- Scene-aware extraction path: around line 256
- Keyframe (
efficientdetail) extraction path: around line 615
-vsync is a legacy alias for -fps_mode that has been removed entirely in this ffmpeg build (confirmed directly: running ffmpeg -vsync vfr ... on its own reproduces the same "Unrecognized option" error, independent of this plugin).
Fix
Replace both occurrences with the modern equivalent, which has existed since ffmpeg 5.0 (2022) and works on both old and new ffmpeg builds:
"-fps_mode", "vfr",Applied this locally and confirmed the full pipeline (download → captions → frame extraction → transcript) completes successfully afterward, on the same video that failed before the change.
Repro
Any yt-dlp-supported video URL with the bundled watch.py entry point, on a machine where ffmpeg -vsync vfr errors (i.e. any sufficiently recent ffmpeg build). The failure is purely an ffmpeg CLI compatibility issue, not specific to any particular video or platform source.
Source: bradautomates/claude-video