Skip to main content

pyvideotools : Quality Metrics & Video Encoding

WIP

Python utilities for video quality measurement and video encoding using VapourSynth.

Simple metric usage with statistics. x264 and SVT-AV1 bindings.

Features

  • Quality metrics
    • SSIMULACRA2
    • XPSNR
    • Butteraugli
    • CVVDP
  • CPU and GPU implementations
  • x264 and SVT-AV1 encoding (WIP)

Requirements

Examples

Quality metrics examples

from src.pyvideotools import metrics
from pathlib import Path

metric = metrics.VSzipSSIMULACRA2(
    source=Path("source.mkv"),
    distorted=Path("encoded.mkv"),
    skip=3,
)

metric.run()

print(metric.scores_standard_deviation)
print(metric.scores_median)

Encoding examples

SVT-AV1 CRF Encoding

from src.pyvideotools import encoders

cmd = encoders.SVTAV1CommandBuilder()
cmd.input("input.mkv")
cmd.preset("4")
cmd.crf(30)
cmd.output("output.mkv", overwrite=True)
cmd.run()

x264 2-pass target bitrate

from src.pyvideotools import encoders

cmd = encoders.x264CommandBuilder()
cmd.input("input.mkv")
cmd.preset("faster")
cmd.bitrate(682)
cmd.passes(2)
cmd.output("output.mkv", overwrite=True)
cmd.run()

Supported Implementations

Metric CPU GPU
SSIMULACRA2 VS-ZIP / Turbo-Metrics VSHIP
XPSNR VS-ZIP / FFmpeg -
Butteraugli - VSHIP
CVVDP - VSHIP

Metadata

Release files for pyvideotools 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pyvideotools 0.1.0
File Size Uploaded
pyvideotools-0.1.0.tar.gz 3.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for pyvideotools 0.1.0
File Interpreter ABI Platform
pyvideotools-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 5.9 kB

Release files / pyvideotools-0.1.0.tar.gz

Download URL pyvideotools-0.1.0.tar.gz
Size 3.0 kB
Tags Source
SHA-256 checksum
How to use checksums
bcccf4e2ce9a65d506ef0f35cd9284aeb1800d13947d94a0e607e3fababd5902
BLAKE2b-256 checksum
How to use checksums
ccea6627791382d928082c330f35790683427b656952abac268625103491a3a7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.18 {"installer":{"name":"uv","version":"0.12.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 24, 2026.

Transparency log

Release files / pyvideotools-0.1.0-py3-none-any.whl

Download URL pyvideotools-0.1.0-py3-none-any.whl
Size 2.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
96a5c8687ff9264e9c1b2c64fcae8ddcc6039b2489b675f147a1eadda16b36cd
BLAKE2b-256 checksum
How to use checksums
73fc49f24c0bb3a528f597aa4f8baa6d0819aa153472934b6b503e67e656e74e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.18 {"installer":{"name":"uv","version":"0.12.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 24, 2026.

Transparency log

Release history Release notifications | RSS feed

0.2.4

2 release files

0.2.3

2 release files

0.2.2

2 release files

0.2.1

2 release files

0.2.0

2 release files

This release

0.1.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page