Skip to main content

VSPreview plugin for creating comparison frames with offsets

Project description

SlowPics Offsets Plugin for VSPreview

[!WARNING] If slow.pics rate-limits or bans your IP while using this plugin, do not bother Slowbro about plugin-specific issues directly. Please open an issue in this repository instead. Slowbro has made some security / cloudflare tweaks and is in the process of adjusting them so they don't affect plugins as much. Enforcement updates can affect how this plugin behaves over time, so use this at your own risk.

Compare multiple video sources with per-frame, per-source offsets, then upload either as a new slow.pics comp or append to an existing comp.

preview

Features

  • Per-frame offsets - Set different offsets for each frame, per source
  • SlowPics Comp support - Generate frames using SlowPics Comp settings
  • Frame management - Add, edit, remove frames manually
  • Upload modes - New Comparison and Append to Existing
  • Append by clone - Loads an existing comp, clones it, and appends selected local sources
  • Manual frame mapping fallback - Provide an explicit row-to-frame map when frame parsing fails
  • Offset-aware upload - Upload to slow.pics with offsets applied per source
  • State persistence - Save and load frame selections with offsets for future comps

Installation

Method 1: PyPI (Recommended)

  1. Install via pip:

    pip install slowpics-offsets
    
  2. Run the setup command to link it to VSPreview:

    spo-install
    

    This detects your VSPreview plugins folder and installs a loader file.

    To specify a custom path:

    spo-install --path /path/to/plugins
    

Method 2: Local Source Install

  1. Clone this repository:
    git clone https://github.com/JanitorialMess/slowpics-offsets.git
    cd slowpics-offsets
    
  2. Install in editable mode:
    pip install -e .
    
  3. Link it to VSPreview:
    spo-install
    

Requirements

  • VSPreview with the built-in SlowPics Comp plugin available

Usage

1. Select Frames

Use Generate Frames (using SlowPics settings) to import frame selection from the built-in SlowPics Comp settings.

Or manage frames manually with:

  • Add Frame
  • Edit Frame
  • Remove Frame
  • Prev / Next navigation

2. Set Offsets

For each frame in your selection:

  1. Select the frame from the list
  2. Adjust the offset spinboxes for each source
  3. The preview updates automatically to show the offset frame
  4. Navigate between frames to verify alignment

Each frame can have different offsets per source. For example, if a transition appears on frame 5000 in one source, you can set a +10 offset just for that frame.

3. Choose Upload Mode

  • New Comparison:
    • Uploads selected local sources as a new comp
    • Cookies are optional (anonymous upload can work, same as built-in behavior)
  • Append to Existing:
    1. Paste a target key/URL (for example https://slow.pics/c/abcd1234)
    2. Click Load
    3. If frame numbers were not parsed from target rows, enter a manual frame map and click Apply
    4. Select local sources to append
    5. Click Upload
    • This mode may require cookies (clone permission can fail with 401/403)

Manual Frame Mapping (Append Mode)

Append mode must map target rows to local frame numbers 1:1 and in order.

  • The plugin first tries to parse frame indices from target row names.
  • If parsing fails, or your local frame list changes after loading target, you must provide the map manually.
  • Format: comma-separated frame numbers (for example 100, 250, 500).
  • The number of entries must match target row count exactly.

Append mode uses the original slow.pics clone flow.

4. Save/Load and Interop

  • Save Offsets: save selected frames + offsets to JSON
  • Load Offsets: restore selected frames + offsets from JSON
  • Send Frame List to SlowPics Comps Tab: send frame numbers to built-in SlowPics Comp without offsets

Keyboard Shortcuts

  • Ctrl+[ - Previous generated frame
  • Ctrl+] - Next generated frame

JSON Format

State files use this format:

{
  "version": 1,
  "selected_frames": [100, 500, 1000],
  "offsets": {
    "500": {
      "Source1": 10,
      "Source2": -5
    }
  }
}

Only frames with non-zero offsets are stored. Offsets are keyed by source name. If source names change between sessions, remapping is required.

Warning

This plugin intentionally relies on internals from VSPreview's built-in SlowPics Comp plugin. Updates in VSPreview may change those internals and break behavior.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

slowpics_offsets-1.0.1.tar.gz (147.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

slowpics_offsets-1.0.1-py3-none-any.whl (152.9 kB view details)

Uploaded Python 3

File details

Details for the file slowpics_offsets-1.0.1.tar.gz.

File metadata

  • Download URL: slowpics_offsets-1.0.1.tar.gz
  • Upload date:
  • Size: 147.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.2

File hashes

Hashes for slowpics_offsets-1.0.1.tar.gz
Algorithm Hash digest
SHA256 dd4805b33f5d4a3f1717f56f2a52fff48625e1f5e30850139945be839d6fc53a
MD5 f79902a847aa53463ee470d143b96b94
BLAKE2b-256 ab6ba31a062e6a57edd587c81bd8bcc4756eabc93543bbb5b62a231b452fae8e

See more details on using hashes here.

File details

Details for the file slowpics_offsets-1.0.1-py3-none-any.whl.

File metadata

File hashes

Hashes for slowpics_offsets-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 dee2753d4b00625d5a1d2cdeeac28fbfc154fd69c1b856672bcfd125c5a7e134
MD5 d8dddb39c4d6674e9dcad4e0524f8357
BLAKE2b-256 52fe77b25601f976f55285475824b6e50f12493ececd5b938865468368e9ade4

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page