ffmpeg-glitch-distortion-effects
Complete glitch art, datamosh, and video distortion effects system. PROACTIVELY activate for: (1) Datamosh/pixel bleeding effects, (2) VHS/analog glitch simulation, (3) Digital corruption effects, (4) Displacement mapping, (5) Wave/ripple distortions, (6) Pixelation and mosaic effects, (7) Chromatic aberration, (8) Scan line effects, (9) Time-based distortions (echo, trails), (10) Lens distortion and barrel effects. Provides: minterpolate for datamosh, displacement filter, geq pixel manipulation, noise and artifacts, rgbashift/chromashift for color separation, lagfun for trails, tmix for frame blending, tblend for frame difference effects.
What this skill does
## CRITICAL GUIDELINES ### Windows File Path Requirements **MANDATORY: Always Use Backslashes on Windows for File Paths** When using Edit or Write tools on Windows, you MUST use backslashes (`\`) in file paths, NOT forward slashes (`/`). --- ## Quick Reference | Effect | Command | |--------|---------| | Datamosh | `-vf "minterpolate='mi_mode=mci:mc_mode=aobmc:me_mode=bidir'"` | | Chromatic aberration | `-vf "rgbashift=rh=-5:bh=5"` | | VHS noise | `-vf "noise=c0s=20:c0f=t,eq=saturation=1.2"` | | Pixelate | `-vf "scale=iw/10:ih/10,scale=iw*10:ih*10:flags=neighbor"` | | Wave distortion | `-vf "displace=..."` with displacement map | | Echo/trails | `-vf "lagfun=decay=0.95"` | | Scan lines | `-vf "drawgrid=w=iw:h=2:t=1:[email protected]"` | ## When to Use This Skill Use for **creative distortion effects**: - Music video glitch aesthetics - Datamosh/pixel bleeding art - VHS/analog video simulation - Digital corruption and artifacts - Psychedelic and experimental video - Horror/unsettling visual effects --- # FFmpeg Glitch & Distortion Effects (2025) Complete guide to datamosh, glitch art, VHS effects, displacement, and creative video distortion with FFmpeg. ## Datamosh Effects Datamosh creates the "pixel bleeding" effect by manipulating motion compensation. ### Basic Datamosh with minterpolate ```bash # Basic datamosh effect ffmpeg -i input.mp4 \ -vf "minterpolate='mi_mode=mci:mc_mode=aobmc:me_mode=bidir:vsbmc=1'" \ -c:v libx264 -crf 18 datamosh.mp4 # Parameters explained: # mi_mode=mci: Motion compensated interpolation # mc_mode=aobmc: Adaptive overlapped block motion compensation # me_mode=bidir: Bidirectional motion estimation # vsbmc=1: Variable size block motion compensation ``` ### Intense Datamosh ```bash # Heavy datamosh (more chaos) ffmpeg -i input.mp4 \ -vf "minterpolate='fps=60:mi_mode=mci:mc_mode=aobmc:me_mode=bidir:me=epzs:vsbmc=1:scd=none'" \ -c:v libx264 -crf 18 heavy_datamosh.mp4 # scd=none: Disable scene change detection (more bleeding across cuts) # me=epzs: Enhanced predictive zonal search (faster, rougher) ``` ### Datamosh with Frame Manipulation ```bash # Datamosh by removing I-frames (requires re-encoding) ffmpeg -i input.mp4 \ -vf "minterpolate='mi_mode=mci:mc_mode=aobmc',\ tblend=all_mode=difference:all_opacity=0.5" \ datamosh_blend.mp4 # Combine with echo for trails ffmpeg -i input.mp4 \ -vf "minterpolate='mi_mode=mci:mc_mode=aobmc',lagfun=decay=0.9" \ datamosh_trails.mp4 ``` ### Controlled Datamosh (Specific Sections) ```bash # Datamosh only certain section ffmpeg -i input.mp4 \ -vf "minterpolate='mi_mode=mci:mc_mode=aobmc':enable='between(t,5,10)'" \ controlled_datamosh.mp4 ``` ## Chromatic Aberration Color channel separation for that "broken lens" look. ### rgbashift Filter ```bash # Horizontal chromatic aberration ffmpeg -i input.mp4 \ -vf "rgbashift=rh=-5:bh=5" \ chromatic.mp4 # Parameters: # rh/rv: Red horizontal/vertical shift # gh/gv: Green horizontal/vertical shift # bh/bv: Blue horizontal/vertical shift # ah/av: Alpha horizontal/vertical shift # Vertical chromatic aberration ffmpeg -i input.mp4 \ -vf "rgbashift=rv=-3:bv=3" \ chromatic_v.mp4 # Both directions ffmpeg -i input.mp4 \ -vf "rgbashift=rh=-4:rv=-2:bh=4:bv=2" \ chromatic_both.mp4 ``` ### Animated Chromatic Aberration ```bash # Pulsing chromatic aberration ffmpeg -i input.mp4 \ -vf "rgbashift=rh='5*sin(t*3)':bh='-5*sin(t*3)'" \ pulsing_chromatic.mp4 # Increasing aberration over time ffmpeg -i input.mp4 \ -vf "rgbashift=rh='-t*2':bh='t*2'" \ increasing_chromatic.mp4 ``` ### chromashift Filter (Chroma Only) ```bash # Shift chroma channels (U/V in YUV) ffmpeg -i input.mp4 \ -vf "chromashift=cbh=5:crh=-5" \ chroma_shift.mp4 # cbh/cbv: Cb (blue-difference) horizontal/vertical # crh/crv: Cr (red-difference) horizontal/vertical ``` ## VHS/Analog Effects ### Complete VHS Simulation ```bash # Full VHS effect ffmpeg -i input.mp4 \ -vf "\ noise=c0s=15:c0f=t:c1s=10:c1f=t,\ eq=saturation=1.4:contrast=1.1:brightness=-0.02,\ chromashift=cbh=3:crh=-3,\ rgbashift=rh=2:bh=-2,\ unsharp=3:3:-0.5,\ drawgrid=w=iw:h=2:t=1:[email protected],\ curves=preset=vintage" \ -c:v libx264 -crf 20 vhs_effect.mp4 ``` ### VHS Components Breakdown ```bash # 1. VHS Noise (temporal noise) ffmpeg -i input.mp4 \ -vf "noise=c0s=20:c0f=t:c1s=15:c1f=t" \ vhs_noise.mp4 # 2. VHS Color bleeding ffmpeg -i input.mp4 \ -vf "chromashift=cbh=4:cbv=2:crh=-3:crv=1" \ vhs_color_bleed.mp4 # 3. VHS Scan lines ffmpeg -i input.mp4 \ -vf "drawgrid=w=iw:h=2:t=1:[email protected]" \ vhs_scanlines.mp4 # 4. VHS Tracking issues (simulated) ffmpeg -i input.mp4 \ -vf "crop=iw:ih-20:0:'20*random(1)',pad=iw:ih+20:0:10" \ vhs_tracking.mp4 # 5. VHS Oversaturated colors ffmpeg -i input.mp4 \ -vf "eq=saturation=1.5:contrast=1.1,curves=preset=vintage" \ vhs_colors.mp4 ``` ### VHS Static/Snow ```bash # Static overlay blend ffmpeg -f lavfi -i "nullsrc=s=1920x1080:d=10" \ -vf "noise=c0s=100:c0f=a+t,format=gray" \ -c:v libx264 -t 10 static.mp4 # Blend static with video ffmpeg -i input.mp4 -i static.mp4 \ -filter_complex "[0:v][1:v]blend=all_mode=screen:all_opacity=0.1" \ vhs_static.mp4 ``` ## Pixelation & Mosaic ### Basic Pixelation ```bash # Pixelate entire video ffmpeg -i input.mp4 \ -vf "scale=iw/10:ih/10,scale=iw*10:ih*10:flags=neighbor" \ pixelated.mp4 # Parameters: # First scale: Reduce resolution (divide by pixelation level) # Second scale: Scale back up with nearest neighbor (no interpolation) # Variable pixelation level ffmpeg -i input.mp4 \ -vf "scale=iw/20:ih/20,scale=iw*20:ih*20:flags=neighbor" \ heavy_pixel.mp4 ``` ### Animated Pixelation ```bash # Pixelation that increases over time ffmpeg -i input.mp4 \ -vf "scale='iw/max(1,t*2)':'ih/max(1,t*2)',scale=iw:ih:flags=neighbor" \ animated_pixel.mp4 # Note: This is approximate; true animated requires geq or external scripts ``` ### Mosaic/Censoring Effect ```bash # Mosaic specific region (face blur style) ffmpeg -i input.mp4 \ -filter_complex "\ [0:v]crop=200:200:300:200[face];\ [face]scale=iw/10:ih/10,scale=iw*10:ih*10:flags=neighbor[blurred];\ [0:v][blurred]overlay=300:200" \ mosaic_region.mp4 ``` ## Wave & Ripple Distortion ### Displacement Map ```bash # Create displacement map (gradient) ffmpeg -f lavfi -i "gradients=s=1920x1080:c0=black:c1=white:x0=0:y0=540:x1=1920:y1=540" \ -vframes 1 displacement_h.png # Apply horizontal wave displacement ffmpeg -i input.mp4 -i displacement_h.png \ -filter_complex "[0:v][1:v]displace=edge=wrap" \ wave_h.mp4 ``` ### Animated Wave with geq ```bash # Horizontal wave using geq ffmpeg -i input.mp4 \ -vf "geq=lum='lum(X+10*sin(Y/20+T*5),Y)':cb='cb(X+10*sin(Y/20+T*5),Y)':cr='cr(X+10*sin(Y/20+T*5),Y)'" \ wave_animated.mp4 # Vertical wave ffmpeg -i input.mp4 \ -vf "geq=lum='lum(X,Y+10*sin(X/20+T*5))':cb='cb(X,Y+10*sin(X/20+T*5))':cr='cr(X,Y+10*sin(X/20+T*5))'" \ wave_v.mp4 # Ripple from center ffmpeg -i input.mp4 \ -vf "geq=lum='lum(X+5*sin(sqrt(pow(X-W/2,2)+pow(Y-H/2,2))/10-T*5),Y+5*cos(sqrt(pow(X-W/2,2)+pow(Y-H/2,2))/10-T*5))':cb='cb(X,Y)':cr='cr(X,Y)'" \ ripple.mp4 ``` ### lenscorrection (Barrel/Pincushion) ```bash # Barrel distortion (fisheye-like) ffmpeg -i input.mp4 \ -vf "lenscorrection=cx=0.5:cy=0.5:k1=0.5:k2=0.5" \ barrel.mp4 # Pincushion distortion (opposite of barrel) ffmpeg -i input.mp4 \ -vf "lenscorrection=cx=0.5:cy=0.5:k1=-0.3:k2=-0.3" \ pincushion.mp4 # Parameters: # cx, cy: Lens center (0-1, 0.5 = center) # k1, k2: Distortion coefficients (positive = barrel, negative = pincushion) ``` ## Echo & Trails (lagfun) ###
Related in Image & Video
watch
IncludedWatch a video (URL or local path). Downloads with yt-dlp, extracts auto-scaled frames with ffmpeg, pulls the transcript from captions (or Whisper API fallback), and hands the result to Claude so it can answer questions about what's in the video.
physical-ai-defect-image-generation
IncludedUse when the user wants to orchestrate defect image generation, run associated setup, or handle outputs on OSMO. The Day 0 path handles cold-start with USD-to-ROI, image-edit augmentation, and AnomalyGen to create initial PCBA datasets. The Day 1 path performs inference and labeling on real images. This skill helps with first-time asset setup, creation of finetuning checkpoints, and configuring deployment. Trigger keywords: defect image generation, dig workflow, dig pipeline, defect image detection workflow, aoi pipeline, aoi anomalygen, usd2roi anomalygen, day 0 pcba, day 1 pcba, day 1 real-photo alignment, day 1 manual roi, metal surface anomaly, glass defect, anomalygen finetune, setup_pcb, setup_metal, setup_glass, setup_pretrained, dig setup, dig datasets, dig pretrained checkpoint, dig image-edit endpoint.
accelint-react-best-practices
IncludedReact performance optimization and best practices. ALWAYS use this skill when working with any React code - writing components, hooks, JSX; refactoring; optimizing re-renders, memoization, state management; reviewing for performance; fixing hydration mismatches; debugging infinite re-renders, stale closures, input focus loss, animations restarting; preventing remounting; implementing transitions, lazy initialization, effect dependencies. Even simple React tasks benefit from these patterns. Covers React 19+ (useEffectEvent, Activity, ref props). Triggers - useEffect, useState, useMemo, useCallback, memo, inline components, nested components, components inside components, re-render, performance, hydration, SSR, Next.js, useDeferredValue, combined hooks.
elevenlabs-agents
IncludedBuild conversational AI voice agents with ElevenLabs Platform using React, JavaScript, React Native, or Swift SDKs. Configure agents, tools (client/server/MCP), RAG knowledge bases, multi-voice, and Scribe real-time STT. Use when: building voice chat interfaces, implementing AI phone agents with Twilio, configuring agent workflows or tools, adding RAG knowledge bases, testing with CLI "agents as code", or troubleshooting deprecated @11labs packages, Android audio cutoff, CSP violations, dynamic variables, or WebRTC config. Keywords: ElevenLabs Agents, ElevenLabs voice agents, AI voice agents, conversational AI, @elevenlabs/react, @elevenlabs/client, @elevenlabs/react-native, @elevenlabs/elevenlabs-js, @elevenlabs/agents-cli, elevenlabs SDK, voice AI, TTS, text-to-speech, ASR, speech recognition, turn-taking model, WebRTC voice, WebSocket voice, ElevenLabs conversation, agent system prompt, agent tools, agent knowledge base, RAG voice agents, multi-voice agents, pronunciation dictionary, voice speed control, elevenlabs scribe, @11labs deprecated, Android audio cutoff, CSP violation elevenlabs, dynamic variables elevenlabs, case-sensitive tool names, webhook authentication
humanizer
IncludedHumanize AI-generated text by detecting and removing patterns typical of LLM output. Rewrites text to sound natural, specific, and human. Uses 28 pattern detectors, 560+ AI vocabulary terms across 3 tiers, and statistical analysis (burstiness, type-token ratio, readability) for comprehensive detection. Use when asked to humanize text, de-AI writing, make content sound more natural/human, review writing for AI patterns, score text for AI detection, or improve AI-generated drafts. Covers content, language, style, communication, and filler categories.
generating-mermaid-diagrams
IncludedSalesforce architecture diagrams using Mermaid with ASCII fallback. Use this skill when generating text-based diagrams for Salesforce architecture, OAuth flows, ERDs, integration sequences, or Agentforce structure. TRIGGER when: user says "diagram", "visualize", "ERD", or asks for sequence diagrams, flowcharts, class diagrams, or architecture visualizations in Mermaid. DO NOT TRIGGER when: user wants PNG/SVG image output (use generating-visual-diagrams), or asks about non-Salesforce systems.