Skip to content

Troubleshooting

zebadrabbit edited this page Jul 22, 2026 · 1 revision

Troubleshooting

Run clippy doctor first for most setup problems — it checks ffmpeg, ffprobe, and yt-dlp are present and runnable, that credentials are set, that transitions/static.mp4 exists, and that the output folder is writable, all in one pass with a concrete fix for each issue found.

"ffmpeg not found" / "yt-dlp not found"

clippy deps

Downloads both (Windows only) into ./bin, verified against the checksum their publisher publishes. On macOS/Linux, install them with your package manager (brew install ffmpeg yt-dlp / sudo apt install ffmpeg yt-dlp).

"Required file missing: static.mp4"

clippy deps also fetches Clippy's own default static.mp4 transition clip into transitions/. Swap it out any time for your own branding — it's just a filename resolved from transitions/ (or TRANSITIONS_DIR).

A run hangs on "Downloading clip" and never finishes

yt-dlp is given a 30-second socket timeout, so a genuinely stalled connection surfaces as a retryable error instead of hanging forever — if you're on a version before this was added, update. If it's still stuck: Ctrl-C (Clippy terminates the child process cleanly), then re-run — clips already downloaded are skipped, not re-fetched, so you won't lose progress.

"Discord mode requires the optional dependency 'discord.py'"

pip install discord.py

Only needed if you're reading clips from a Discord channel. The pip package (or clippy.exe, which bundles it) doesn't need this if you're only using Twitch.

"NVENC not available — encoding will use libx264 on the CPU"

A warning, not an error — encoding still works, just slower on the CPU. Needs an NVIDIA GPU with an ffmpeg build compiled with --enable-nvenc. Clippy also probes for AMD (AMF) and Intel (QSV) hardware encoders automatically, in that order, before falling back to the CPU. Use --preset cpu_only to force CPU encoding explicitly (e.g. for a predictable, hardware-independent output).

AMD/Intel hardware encoder flags are best-effort — correct per ffmpeg's own documentation, but not verified against real AMD/Intel hardware. If an AMF or QSV encode fails or looks wrong on your machine, please open an issue with your GPU model and the error ffmpeg prints.

Twitch API rate limiting (429)

Handled automatically — a 429 mid-fetch is retried up to 3 times, respecting Twitch's Ratelimit-Reset header when present, before falling back to whatever clips were already collected. You'll see a Rate limited by Twitch (429); retrying in Ns log line if this happens; no action needed.

A profile isn't picking Discord as the source

Check identity.source: discord is actually set in that profile's block in clippy.yaml (see Subsequent runs) — it's not inferred from having a discord.channel_id configured. --discord/--no-discord on the command line always override whatever the profile says.

Still stuck?

Open an issue on GitHub with the command you ran and the full output — clippy doctor's output is usually a good first thing to include.