Default output at output/demo.gif in your workspace
Requirements
GIFforge runs locally on your machine.
ffmpeg is required
python is optional
If Python is available and core/ai/selector.py exists in your workspace, GIFforge uses AI frame ranking. Otherwise, it automatically switches to fallback frame selection.
Quick Start
Open a workspace folder in VS Code.
Run command: GIFforge: Start.
Choose recording mode:
Full Screen for whole desktop capture
Custom Region and set X, Y, Width, Height
Click Record Screen, then Stop Recording when done.
Or use Import Video for existing clips.
Click Generate GIF.
Optional: Click Download GIF to save anywhere.
Commands
GIFforge: Start - Open GIFforge panel
GIFforge: Record Screen - Open panel focused on recording workflow
GIFforge: Import Video - Open import flow directly
Recording Notes
Windows: Full and region capture supported via FFmpeg gdigrab.
Linux (X11): Full and region capture supported via FFmpeg x11grab.
macOS: Full capture supported via FFmpeg avfoundation; region mode not supported in this release.
How It Works
Capture input (record or import)
Prepare input video (temp/recording.mp4)
Extract frames with FFmpeg
Select frames (AI or fallback)
Encode optimized GIF
Preview and optionally download
Troubleshooting
Recording does not start
Confirm ffmpeg is installed and available in PATH.
On Linux/macOS, adjust FFmpeg capture device if needed.
If host capture is unavailable, use Import Video.
Custom region mode fails
Verify X and Y are >= 0.
Verify Width and Height are > 0.
On macOS, switch to Full Screen mode.
GIF generation fails
Confirm ffmpeg is installed and available in PATH.
Try shorter clips (5-20 seconds).
Ensure workspace is writable (temp/ and output/).
AI selector not used
Install Python and verify python --version.
Ensure core/ai/selector.py is present in workspace.
Release Notes
1.0.10
Added Full Screen / Custom Region recording mode switch
Added host-side region capture (X, Y, Width, Height) with strict validation
Preserved import pipeline and GIF generation flow
1.0.9
Shifted recording to host-side FFmpeg process (reliable fix for webview permission failures)
Kept import workflow fully intact
Retained timer and cancel recording UX in panel
1.0.8
Added live recording timer during screen capture
Added Cancel Recording flow that safely discards in-progress capture
Improved recording-state UX while preserving import/generate behavior
1.0.7
Added real-time in-panel screen recording
Added Stop Recording workflow and recording save pipeline
Added Download GIF action to save generated output anywhere
Kept import-video workflow fully compatible
Improved panel state handling for recording/processing/done paths
1.0.6
Fixed non-responsive panel buttons
Reworked webview-to-extension message bridge
Improved pipeline reliability and error handling
Added fallback frame selection when AI path is unavailable
Feedback
If you hit any issue, please share OS details, logs, and sample input video in repository issues.