Skip to content

Second-Party Plugins

Second-party plugins are officially maintained but distributed as separate packages to keep the core installation lightweight.

Overview

  • Comparison


    Select, extract, and upload comparison frames to Slow.pics with TMDB metadata integration.

    Details · Source

  • Dependency Graph


    Interactive visualizer of the VapourSynth filter graph, with a profiling heatmap, call stacks and exports.

    Details · Source

  • Editor


    Monaco-based code editor workspace for VapourSynth scripts.

    Details · Source

  • FFT Spectrum


    Displays the Fast Fourier Transform (FFT) spectrum of all the planes of a video clip.

    Details · Source

  • FrameProps Extended


    Extends the built-in Frame Properties tool with specialized categories and formatters.

    Details · Source

  • Histogram


    Per-frame video scopes: Levels, Luma, Vectorscope, and Waveform.

    Details · Source

  • Remote


    Remote VapourSynth execution and frame streaming workspace powered by vsremote.

    Details · Source

  • Split Planes


    Visualize individual planes (e.g., Y, U, V) of a video clip to inspect channel-specific artifacts.

    Details · Source


Installation

Second-party plugins are officially maintained but distributed as separate Python packages.

You can install plugins individually or choose one of the pre-configured bundles.

Optional: Recommended & Full Bundles

  • The recommended bundle includes Split Planes, FrameProps Extended, FFT Spectrum, and Comparison.
  • The full bundle includes all first, second and third-party plugins.
Install recommended bundle
pip install vsview[recommended]
Install full bundle
pip install vsview[full]
Add recommended bundle
uv add vsview --extra recommended
Add full bundle
uv add vsview --extra full

Detailed installation for individual packages can be found in their respective sections below.


Comparison

Install Comparison
pip install vsview-comp
Add Comparison
uv add vsview-comp

The Comparison plugin provides an integrated workflow for extracting frames and uploading them directly to Slow.pics.

Features

  • Frame Selection:
    • Choose frames manually or automatically based on frame count and time range.
    • Filter by picture types (I/P/B-frames) and combed frames.
    • Select the darkest and/or lightest frames using asymmetric Gaussian brightness scoring.
  • Probability Curve:
    • Bias which part of the timeline random frames are drawn from using an interactive curve editor.
    • Click Curve... next to the random frame count to open the editor.
  • TMDB Integration:
    • Search and retrieve metadata from TMDB to automatically populate collection names.
    • Customize the naming format in the plugin Settings.
  • Direct Upload:
    • Upload extracted frames to Slow.pics.
    • Configure login in the plugin Settings to upload directly.

Settings

Setting Default Description
Browser ID auto UUID sent to Slow.pics on every upload. (see Browser ID).
Allowed frame searches 150 Max attempts per frame slot before giving up.
Brightness candidates 0 (auto) Candidate frames to analyze for dark/light selection. 0 auto-scales from clip length and FPS.

Frame List Context Menu

Right-clicking any thumbnail in the selected frames list opens a context menu for managing and copying frame data. Multi-selection (Ctrl-click or Shift-click) is supported:

Action Description
Copy timestamp(s) Copies the timestamp (HH:MM:SS.mmm) or a list of timestamps to the clipboard.
Copy frame number(s) Copies the frame number or a list of frame numbers to the clipboard.
Remove frame(s) Removes the selected frame(s) from the list (also supported via Del).

Double-clicking any thumbnail in the list seeks the playback directly to that frame.

Probability Curve Editor

Click Curve... (next to the random frame count) to open the curve editor and bias where in the timeline random frames are sampled from.

The boundary points (start/end frame) are fixed horizontally but their weights are editable. Y = 1 everywhere gives uniform sampling.

Dark / Light Frame Selection

Candidate frames are scored with an asymmetric Gaussian on their average luma (PlaneStatsAverage):

  • Dark: peak ≈ 6.5 % (σ left = 0.015, σ right = 0.15)
  • Light: peak ≈ 75 % (σ left = 0.45, σ right = 0.90)

Browser ID

Every upload is tagged with a persistent Browser ID UUID so Slow.pics can associate it with your browser session.

Claiming an anonymous upload

If you uploaded without being logged in, you can still claim the comparison afterwards:

  1. Copy your Browser ID from the plugin Settings (clipboard button).
  2. In your browser's dev tools (F12), go to Application → Cookies → slow.pics and set BROWSER-ID to that value.
  3. Reload the comparison page and claim it from the page menu.

When uploading while logged in, Slow.pics returns its own BROWSER-ID; the plugin adopts it automatically.

Script Integration

All set_output outputs are available by default. Pass allow_comp to explicitly exclude specific outputs.

VapourSynth Requirements

  • fpng (Optional): For slightly faster frame extraction.

Dependency Graph

Install Dependency Graph
pip install vsview-graph
Add Dependency Graph
uv add vsview-graph

The Dependency Graph dock renders the filter dependency graph of any output using vsgraph and Cytoscape.js.

Features

  • Layouts: Dagre (TB / LR), breadth-first, concentric, and grid.
  • Profiling: Heatmap and per-node execution timings.
  • Visual encoding: Concurrency mode borders, request pattern edges, and media change highlights.
  • Lineage: Highlights upstream dependencies and downstream consumers for the selected node.
  • Inspector: Node and edge specs, inputs, call stacks, and copy actions (ID, Python call, report).
  • Overview panel: Graph metrics, concurrency warnings, media transitions, and filter mode filters.
  • Search: Space-separated keywords and /regex/flags matching node attributes and call arguments.
  • Export: DOT, Mermaid, ASCII, JSON, and PNG.

Settings

Setting Default Description
Layout Direction TB Graph flow: TB (top-to-bottom) or LR (left-to-right).
Layout Algorithm Dagre Algorithm: Dagre (hierarchical, respects direction), Breadth First, Concentric, or Grid.
Rank Separation 60 px Spacing between levels in Dagre (20–200 px).
Node Separation 40 px Spacing between sibling nodes in Dagre and Concentric (10–200 px).
Profiling Heatmap off Toggles profiling heatmap overlay.
Auto-Fit Viewport on Fits graph to screen on reload.
Show Timings on Shows execution times on nodes and tooltips.
Timing Unit auto Time format: auto (adaptive), ms, or ns.

HUD Toolbar

  • Output: Select an output or follow the active timeline output.
  • Navigation: Zoom (+ / −), fit to view (Fit), reset zoom (1:1), and orientation (↕ TB / ↔ LR).
  • Actions: Toggles for Heatmap, edge Patterns, Overview panel, and ↻ (re-inspect).
  • Search: Input with match count.

Search Syntax

Matches against node names, IDs, labels, call stack functions, namespaces, argument names, and argument values:

  • Words: Space-separated terms use AND matching (e.g. std crop left 8).
  • Regex: Enclose in slashes with optional flags (e.g. /crop$/i). Invalid syntax displays !.

Visual Encoding

  • Filter modes (vs.FilterMode):
    • PARALLEL: Solid border.
    • PARALLEL_REQUESTS: Dashed green border.
    • UNORDERED: Dotted highlight border.
    • FRAME_STATE: Dashed red border (serialized frame processing).
    • Root node: Amber border.
  • Request patterns (vsgraph.RequestPattern):
    • GENERAL: Solid line.
    • STRICT_SPATIAL: Dotted line (skips frame cache).
    • NO_FRAME_REUSE: Dashed line (disables frame reuse).
    • FRAME_REUSE_LAST_ONLY: Thick dashed line.
  • Media transitions: Amber edges and target glows mark format, resolution, fps, or frame count changes.
  • Selection & Lineage: Selecting a node highlights upstream inputs and downstream outputs; unrelated elements are dimmed.

Profiling Heatmap

Node background color indicates relative execution time (square-root scaled against the slowest node):

  • Slate: Baseline / negligible.
  • Teal: Fast.
  • Amber: Moderate.
  • Orange: Heavy.
  • Red: Bottleneck.

Inspector Drawer

Clicking a node or edge opens its details (specs, performance, inputs, call stack, and copy actions) in the side drawer. Node references in the drawer are clickable and jump to the related node.

Overview Panel

Toggle with Overview or L. It summarizes the graph (counts, timings, formats), lists warnings and media changes, and offers filters that dim unrelated nodes on the canvas.

Context Menu & Export

Right-click the canvas:

Action Description
Fit to View Fit graph into viewport (F).
Reset View Reset zoom to 100% (Ctrl+0).
Reload Graph Re-inspect active output and update timings (R).
Copy Graph as → Copy as PNG Image, DOT, Mermaid, ASCII, or JSON.
Save Graph as → Save as PNG Image, DOT, Mermaid, ASCII, or JSON.

Timings and caching

The graph is inspected once per output and cached; the displayed timings are a snapshot of the last inspection. Press the refresh button to re-inspect the current output.

Keyboard Shortcuts

Shortcut Action
Up / Down Walk to the parent / child dependency
Shift + Up / Down Cycle between sibling dependencies
Home / End Jump to the root / deepest leaf
Enter Center the selected node
Esc Clear the selection
Ctrl + 0 Reset zoom to 100%
F Fit the graph
H Toggle the profiling heatmap
P Toggle request-pattern labels
L Toggle the overview panel
R Re-inspect the graph
/ Focus the search box

FFT Spectrum

Install FFT Spectrum
pip install vsview-fftspectrum
Add FFT Spectrum
uv add vsview-fftspectrum

The FFT Spectrum tool provides a visualization of the Fast Fourier Transform (FFT) spectrum of all the planes of a video clip.


Histogram

Install Histogram
pip install vsview-histogram
Add Histogram
uv add vsview-histogram

Provides per-frame video scopes as tabs inside a single panel.

  • Updates are paused during playback and resume on the active tab when playback stops.
  • Right-click any plot to copy or save the view.

Levels

Plots a per-plane pixel value histogram for the current frame.

Control Options Description
Bin resolution Auto, 256, 512, 1024 Number of histogram bins. Auto scales to the panel width.
Clamp factor 0.001 % – 100 % Clips peak bin counts to this percentage of total pixels, making smaller peaks visible.
Show unsafe zones on / off Highlights broadcast-illegal ranges (YUV limited range only).

Luma

Displays a luma scope rendered through a standard graphics view.

Control Options Description
Frequency (Shift) 2 – 256 cycles (shift 1 – 8) Controls the number of luma cycles displayed across the scope.
Sawtooth style on / off Switches the rendering style from sine-like to a sawtooth waveform.

Only GRAY and YUV inputs are supported. RGB input shows an error overlay.

Vectorscope

Plots chroma (U/V) distribution on a 2D plane.

Graticules show 75 % and 100 % saturation circles, a skin-tone reference line, and primary/secondary color targets that automatically adjust based on the clip's color matrix (supporting Rec. 601, Rec. 709, Rec. 2020, and ST 240M).

Control Options Description
Mode Density, Chroma Wheel, Pixel Color Density: logarithmic heat-map with a phosphor color table.
Chroma Wheel: density map drawn over a full-color UV background wheel.
Pixel Color: each pixel plotted at its actual RGB-converted color.
Resolution Auto, 256, 512, 1024 Size of the internal scope image (square). Auto caps to the bit depth limit.
Matrix Auto, BT.709, BT.601, BT.2020, ST 240M Color matrix coefficients used for target graticules and signal conversion. Auto detects from clip properties or resolution.
Luma 0.01 – 2.00 Brightness scaling factor applied to the point cloud/glow. Only active in Chroma Wheel mode.

RGB input is not supported and shows a warning. GRAY input plots all pixels at neutral chroma.

Waveform

Plots pixel values column-by-column as a waveform. Logarithmic density scaling is applied per-column.

Control Options Description
Mode Luma, RGB/YUV Parade Luma: single Y-plane waveform.
Parade: one waveform per plane side-by-side (R/G/B or Y/U/V, depending on color family).
Resolution Auto, 256, 512, 1024 Vertical resolution of the scope. Auto caps to the bit depth limit.
Show zones on / off Overlays the neutral line and broadcast-limit lines (16/235 for luma, 16/240 for chroma) with shaded unsafe regions.
Dynamic gain on / off When on, scales brightness relative to the densest column. When off, scales relative to frame height.
Gain 0.1x – 10.0x Multiplier applied on top of the logarithmic scale.

CIE Chromaticity

Plots the chromaticity coordinates of the frame pixels onto a standard CIE chromaticity diagram (CIE 1931 xy or CIE 1976 u'v').

Graticules show the boundary triangles for common color gamuts (Rec. 709, Rec. 601, DCI-P3, and Rec. 2020) and a reference crosshair for the D65 white point.

Control Options Description
CIE Mode CIE 1931 (xy), CIE 1976 (u'v') Toggles between the CIE 1931 standard color space representation and the CIE 1976 Uniform Chromaticity Scale (UCS) representation.
Render Mode Density, Chroma Wheel, Pixel Color Density: logarithmic heat-map showing pixel density using a phosphor color table.
Chroma Wheel: density map drawn as a white glow over a full-color background chromaticity diagram.
Pixel Color: each pixel plotted at its actual RGB color, scaled by density and luma settings.
Resolution Native, 256x256, 512x512, 1024x1024 Size of the internal scope image. Native uses the height of the frame.
Luma 0.01 – 2.00 Brightness scaling factor applied to the point cloud/glow. Only active in Pixel Color and Chroma Wheel modes.
Gamuts Rec. 709, Rec. 601, DCI-P3, Rec. 2020 Checkboxes to toggle the display of the target gamut boundary triangles and labels on the diagram.

Only RGB input is supported. Other formats, or clips without a valid _Primaries frame property, will display an error overlay.


FrameProps Extended

Install FrameProps Extended
pip install vsview-frameprops-extended
Add FrameProps Extended
uv add vsview-frameprops-extended

This plugin adds more categories and formatters to the built-in Frame Properties panel.


Split Planes

Install Split Planes
pip install vsview-split-planes
Add Split Planes
uv add vsview-split-planes

Split Planes splits a video clip into its individual planes for inspection.

Features

  • Extends the Graphics View's default context menu to provide a way to offset chroma plane values.