footage-effects
Skill23 starsChanged 8 months agoMITView on GitHub
Eight effects for footage you already have, each as tested ffmpeg filter chains plus HyperFrames and Remotion equivalents: glow and bloom (soft, film halation, sci-fi, sunset, anamorphic streaks, ominous), digital glitch (subtle to corrupt), CRT screen (consumer TV, arcade grille, green and amber terminal), chromatic aberration (lens, radial, linear split), halftone (ink on paper, CMY screen, LED wall, mosaic), acid photocopy, radial zoom blur and wave or heat distortion. Presets give thresholds, blur scales, offsets in px at 1080p, screen angles, ink colors, scanline periods and where in the edit each effect belongs, from Xor (GM Shaders), the libretro CRT shaders, GPU Gems, Steve Yedlin and Andrew Kramer. Use when someone wants a glitch, glow, VHS-era CRT, halftone, chromatic or heat-haze look on a clip, or a zoom-blur punch on the beat. NOT for color grading and LUTs, animated backgrounds without footage (paper-shaders) or generating new footage (varg-ai).
In this repository75 other files it gives its agents.
- AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- llms.txtllms.txt
- ad-creative-testingSkill
- ai-ad-compliance-checkSkill
- ai-ugc-ad-videoSkill
- app-ui-mockupsSkill
- caption-stylesSkill
- character-passportSkill
- code-to-video-previzSkill
- ecommerce-video-adsSkill
- ecommerce-video-editSkill
- edit-footage-with-codeSkill
- find-referencesSkill
- gpt-image-2-6Skill
- gpt-image-gifSkill
- gpt-image-markup-editSkill
- gpt-image-sprite-sheetSkill
- gpt-image-sticker-packSkill
- how-to-make-ai-videoSkill
- kinetic-type-artSkill
- kling-4-action-montageSkill
- kling-4-keyframe-filmSkill
- kling-4-promptingSkill
- make-a-woke-profile-with-chatgptSkill
- maps-and-data-motionSkill
- media-downloadSkill
- media-judgeSkill
- motion-formatsSkill
- paper-shadersSkill
- product-photo-to-videoSkill
- product-video-hooksSkill
- short-form-ffmpeg-cookbookSkill
- social-overlaysSkill
- threejs-animaticSkill
- tiktok-shop-videoSkill
- title-designSkill
- transition-craftSkill
- varg-ad-library-remixSkill
- varg-ad-localizeSkill
- varg-ad-variantsSkill
- varg-aiSkill
- varg-birthday-videoSkill
- varg-character-absurdSkill
- varg-character-beautiful-womanSkill
- varg-character-big-guySkill
- varg-character-cartoonSkill
- varg-character-cringeSkill
- varg-character-designSkill
- varg-character-fitnessSkill
- varg-character-grandmaSkill
- varg-character-keynoteSkill
- varg-consistent-charactersSkill
- varg-dropship-reelSkill
- varg-mascot-jingle-adSkill
- varg-mockupsSkill
- varg-music-videoSkill
- varg-occasion-videoSkill
- varg-podcast-videoSkill
- varg-previzSkill
- The first 60 shown.
The file
We split this skill into the rules it gives an agent
3 rules. About 0 are common, 2 are distinctive, and 1 is very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈2
Distinctive · estimate
This author's own choices. Worth a look.
1
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 36
Protect faces and type: No bloom, glitch or fringes over captions, logos or a centered face.
- Distinctive: line 37
Seek-safe and seeded: Every random value is a hash of the frame number, so renders repeat exactly.
- Very specific: line 80
Every rule in the references cites its source by number.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Footage effects: glow, glitch, CRT, halftone and more on real video
Eight effects applied to real footage, each preset a complete ffmpeg command that was rendered and checked, plus a HyperFrames or Remotion version for compositions. They are accents: strong settings live in short hits on beats and cuts, and the subject's face and the type stay clean.
Gates
- The person's footage. Apply effects only to clips the person owns or licensed.
- Cap every command. Generated inputs never end: always pass
-t <clip duration>andblend=...:shortest=1, as the presets do. - Protect faces and type. No bloom, glitch or fringes over captions, logos or a centered face; keep text on an untreated layer.
- Seek-safe and seeded. Every random value is a hash of the frame number, so renders repeat exactly.
- No credits here. These templates render locally for free. Generated footage, voice or music is the varg-ai skill: call
estimate_costand wait for the person's approval before any generation.
Pick a template
8 templates, 34 presets. Each reference file has the same sections: how the pros do it (every rule cited), presets, timing and numbers, how to build it, mistakes that look amateur, sources. Each JSON file holds the same presets as machine-readable values.
| Template | Use it for | Presets | Files |
| Acid photocopy | Turn real footage into a stuttering two-ink photocopy (teal, red, cream) or a black-toner zine copy on scanned paper. | Stutter flyer, Still print, Mono toner | acid-photocopy.md · json |
| Chromatic aberration | Split real footage's red, green and blue into a fringe that grows toward the frame edges (lens), across the frame (digital), or pulsing (psychedelic). | Lens (subtle), Radial (strong), Linear RGB split, Acid trip | chromatic-aberration.md · json |
| CRT screen | Put real footage (or a chat/UI scene) on a curved CRT: phosphor mask, scanlines, bloom, rounded corners, optional afterglow. | Consumer TV, Arcade aperture grille, Green phosphor terminal, Amber terminal | crt-screen.md · json |
| Digital glitch | Glitch real footage with RGB splits, torn rows, swapped blocks, stutter and macroblock corruption, in deterministic bursts. | Subtle, Default, Intense, Jittery, Corrupt | digital-glitch.md · json |
| Glow and bloom | Make the bright parts of real footage glow: neutral bloom, film halation, coloured halos or long anamorphic streaks. | Soft bloom, Film halation, Sci-fi cyan, Sunset warm, Anamorphic streaks, Ominous red | glow-bloom.md · json |
| Halftone footage | Turn real footage into halftone print (one ink or CMY rosettes), an LED wall or a colour mosaic. | Ink on paper, Colour screen (CMY), LED wall, Colour mosaic | halftone-footage.md · json |
| Radial zoom blur | Pull real footage into a zoom blur toward a centre, as a constant look, a beat punch, a fringed burst or light streaks. | Soft pull, Punch-in hit, Fringe burst, Light streak (brightest) | radial-zoom-blur.md · json |
| Wave and heat distortion | Make real footage ripple like heat haze or water, or smear itself along its own brightness. | Heat haze, Water ripple, Self-smear (colour-driven), Sine wave | wave-distortion.md · json |
Workflow
- Match the request to a template and one or two presets from the table. Say which and why in one line, and show the person the preset names with their one-line looks before building anything.
- Read the reference for that template, and load its JSON. Take values from the JSON; do not re-guess them.
- Build it the way the reference's "Build it" section says, starting from the named HyperFrames blocks or varg components where it names them. Drive every value from timeline time so any frame renders the same on a re-render.
- Fit it to the brand: swap in the person's colors and fonts only where the reference allows, then re-check contrast and safe zones with the numbers in "Timing and numbers".
- Check a draft: render stills at the key moments (entrance, hold, exit), go through "Mistakes that look amateur", and fix before the final render.
- Render with ffmpeg using the preset's
ffmpegchain from the JSON (inputs and filter graph), at CRF 14-16 for anything with grain, dots or scanlines.
Rules that hold for every template
- Deterministic or nothing: every random value is a hash of the frame number and every noise source is seeded, so renders are seekable and parallel-safe.
- Generated lavfi inputs never end: cap the output with
-t <clip duration>and useblendwithshortest=1; pre-render static textures once withtrim=end_frame=1,loop=-1. - Work in
gbrpfor blend, displace and per-channel tricks, but runeqandvignettein YUV: on RGB planes they tint the image. - Threshold, then multi-scale, then add: glow, streaks and halation start from a soft-knee threshold (0.45–0.95), blur at 2–3 scales (about 1:4:12) and screen or add the result.
- Real optics are radial: lens chromatic aberration and zoom blur are zero at the centre and grow with radius; flat shifts read as digital glitch.
- Accents, not grades: strong aberration, zoom and glitch presets live in 2-frame windows or 0.2–1.5 s hits on beats and cuts; only the subtle presets run a whole shot.
- Print looks need print logic: rotated screens (C/M/Y/K at 15/75/0/45, single ink at 45°), spot-ink hex on warm paper, 3–6 px misregistration, static paper with moving toner.
- Respect delivery: dots ≥10 px and integer scanline periods (3–4 px) at 1080p, CRF ≤14–16, and scale every pixel value with frame height.
- Protect the subject and the type: keep fringes off central faces, no bloom or glitch over captions or the logo, text on an untreated layer.
Built from
Xor (@XorDev, GM Shaders); HyperFrames media-treatment recipes; libretro crt-geom and crt-lottes (Timothy Lottes) with @komm64; Kenny Mitchell and Tiago Sousa (GPU Gems); Maxime Heckel and Paper (Ksenia Kondrashova, Agu Seguí); Steve Yedlin; Andrew Kramer (Video Copilot); Remotion, Boris FX, Maxon and Notch docs.
Every rule in the references cites its source by number. The full list, with links and what was taken from each, is in references/sources.md. Values marked as house defaults in a reference are our own starting points where no expert published a number.
Related skills
- paper-shaders: shader backgrounds and textures without footage.
- transition-craft: shake, zoom and bokeh transitions.
- short-form-ffmpeg-cookbook: crop, captions, music.
- varg-video-edit-library: 206 named edits for existing footage (cuts, transitions, headlines, UI, numbers).
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

