# Changelog of Video Frame Extractor: Thumbnails and Frames from Video URLs (`rowcraft/video-frame-extractor`) Actor

- **URL**: https://apify.com/rowcraft/video-frame-extractor/changelog.md
- **Full Actor documentation**: https://apify.com/rowcraft/video-frame-extractor.md

## Changelog

### 1.0.2 (2026-10-19)

- README: platform usage is included in the price (pay per event); list of Rowcraft actors updated

### 1.0.1 (2026-10-18)

- README: real screenshots of the input form and of a run's results; example rows taken from a platform run, with frame links that open.

### 1.0.0 (2026-10-18)

- First release: frames from direct links to video files (MP4, WebM, MOV, M4V, MKV, OGV), one row per frame with a public link to the image in the run's key-value store.
- Four ways to pick the frames: evenly spaced (N per video, without the first and last 2 percent), every N seconds, at exact times you list (seconds or mm:ss), and at scene changes (threshold 0.05 to 0.95, default 0.4).
- JPG, PNG or WebP, quality 1 to 100, maximum width (default 1280, 0 = original size, never enlarged).
- Large files are read in parts of 512 KB through a local reader, so only the parts ffmpeg needs are fetched; a server that does not allow partial reading is downloaded whole up to "Maximum video size", and so is any large file in the scene mode, which reads every part of it anyway. Hosts are asked at most one request per second by default; robots.txt is read on every host, redirects are followed and checked, private network addresses are refused.
- Not charged: identical frames of one video (same SHA-1), videos that cannot be read, platform pages (YouTube, TikTok, Vimeo, Instagram, Facebook and similar), streaming playlists (HLS, DASH), robots.txt refusals, anti-bot pages, and videos above the length or size limits. Each of those videos gets one free row that says why.
- Only new rows (by video), notification webhook, charge limit, RUN_SUMMARY and COVERAGE records. No person fields; mailto, tel and sms links are skipped.
