-
Notifications
You must be signed in to change notification settings - Fork 0
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.
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).
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).
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.
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.
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.
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.
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.
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.