video-frames

Extract single frames from video files at timestamps or frame indexes using ffmpeg.

Updated Sep 5, 2026
One-click install
npx skills add https://github.com/SillyHippy/zo-skills --skill video-frames-sillyhippy
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: video-frames
Source: https://github.com/SillyHippy/zo-skills/tree/main/skills/video-frames
Command: npx skills add https://github.com/SillyHippy/zo-skills --skill video-frames-sillyhippy

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires ffmpeg, and includes scripts (resource) components.

What problem does it solve? Inspecting video content often requires opening a full video player just to see what happens at a specific moment. This Skill extracts individual frames from video files as images, making it fast to capture thumbnails, verify content at a timestamp, or grab a crisp still for documentation. ## Core Features & Use Cases - Frame Extraction by Timestamp: Capture the frame at an exact time position (e.g., 00:00:10) from any video file. - Frame Extraction by Index: Select a specific frame number directly from the video stream. - Flexible Output Formats: Save as JPG for quick sharing or PNG for crisp UI captures. - Use Case: You receive a screen recording of a bug report and need to see what the UI looked like at the 10-second mark. Extract that frame as a PNG and attach it to your issue tracker without scrubbing through the video manually. ## Quick Start Ask the assistant to extract a frame from your video file at a specific timestamp, for example: grab the frame at 10 seconds from recording.mp4 and save it as a PNG.

Frequently Asked Questions about video-frames

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I extract a frame from a video with ffmpeg?

Run the frame.sh script with the video path and an output file, optionally passing --time for a timestamp or --index for a frame number. The script invokes ffmpeg with the appropriate seek or select filter and writes a single image.

How to capture a video frame at a specific timestamp?

Pass the --time argument in HH:MM:SS format, for example --time 00:00:10. The script uses ffmpeg's -ss seek option before decoding, which quickly jumps to that position and saves one frame.

Does frame extraction require ffmpeg to be installed?

Yes, the ffmpeg binary must be available on the system. The skill metadata specifies installation via Homebrew with the ffmpeg formula, and the script calls ffmpeg directly for all extraction operations.

Should I use JPG or PNG for extracted video frames?

Use JPG for quick sharing and smaller file sizes, and PNG when you need crisp detail such as UI text in screen recordings. The output format is determined by the file extension you pass to --out.

Why does frame extraction by index take longer than by timestamp?

Index-based extraction uses ffmpeg's select filter, which decodes frames sequentially until it reaches the requested frame number. Timestamp extraction seeks directly to the position, which is typically much faster for long videos.