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.2.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.2.0
File Size Uploaded
pyvideotools-0.2.0.tar.gz 3.0 kB Details

Built distribution (wheel)

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

Total release size: 5.9 kB

Release files / pyvideotools-0.2.0.tar.gz

Download URL pyvideotools-0.2.0.tar.gz
Size 3.0 kB
Tags Source
SHA-256 checksum
How to use checksums
fe7c922aaee7804ec270813c581dbcad6cdca2f869a762d156fb2e1229e241f1
BLAKE2b-256 checksum
How to use checksums
500b8675e8f600acbf374956d1e17efc791b1a85b2d910963a6b1e0dceac362a
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.2.0-py3-none-any.whl

Download URL pyvideotools-0.2.0-py3-none-any.whl
Size 2.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
9080aa94d36b12b6e51185f36187a7e8c905108cef5aa50424dcff6a00902562
BLAKE2b-256 checksum
How to use checksums
3ed14f4585e32a87e5f830760d06bd9c5253ba1aee79368a30d196d9336c69e2
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

This release

0.2.0 This release

2 release files

0.1.0

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