Skip to main content

A command-line utility for applying artistic effects to videos

Project description

Siss

A command-line tool for applying duotone and halftone effects to video and still-image files. Duotone maps per-pixel luminance to a linear blend between two user-supplied RGB colors; halftone renders plus, asterisk, slash, or dot symbols at luminance-proportional sizes over a 3×3-pixel sampled grid, on a square or hex-offset screen. Accepts hex strings, CSS named colors, RGB triples, and named two-color palettes.

Features

  • Duotone – maps per-pixel luminance to a linear gradient between two RGB colors; color1 is applied to dark areas, color2 to light areas
  • Halftone – renders plus, asterisk, slash, or dot symbols at sizes proportional to local luminance (3×3-pixel sampled average), with independent symbol and background colors, over a square or hex-offset sampling grid
  • Color input – accepts 3- and 6-digit hex strings (with or without #), case-insensitive CSS named colors, RGB integer triples, and named two-color palettes via --palette
  • Still-image output – write PNG, JPEG, BMP, TIFF, or WebP by using an image extension for the output path; reuses the same per-frame effect closures as video output
  • Codec selection – probes cv2.VideoWriter_fourcc candidates per output format and OS; falls back through a priority list until a working codec is found

Installation

pip install siss

Quick Start

After installation, run siss from the command line:

siss input_video.mp4 output_video.mp4 --effect duotone

To process a still image, use an image extension for the output path:

siss input.jpg output.png --effect duotone --palette sunset

Specifying Colors

Colors accept hex strings, CSS names, RGB triples, or curated palettes:

siss input.mp4 output.mp4 --effect duotone --color1 "#3b1f4b" --color2 gold
siss input.mp4 output.mp4 --effect duotone --palette sunset
siss --list-palettes

Example Effects

Duotone Effect

Duotone Example

siss input.mp4 output.mp4 --effect duotone --color1 56 12 45 --color2 217 237 3

Applies a duotone effect with deep purple mapped to dark areas and bright yellow-green to light areas.

Halftone Effect

Halftone Example

siss input.mp4 output.mp4 --effect halftone --symbol_type slash --symbol_size 20 --color1 56 12 45 --color2 217 237 3

Applies a halftone effect with slash symbols at luminance-proportional sizes.

Documentation

See the GitHub repository for full documentation.

Requirements

  • Python 3.7+
  • OpenCV (cv2)
  • NumPy
  • tqdm

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

siss-0.6.0.tar.gz (35.8 kB view details)

Uploaded Source

Built Distribution

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

siss-0.6.0-py3-none-any.whl (19.9 kB view details)

Uploaded Python 3

File details

Details for the file siss-0.6.0.tar.gz.

File metadata

  • Download URL: siss-0.6.0.tar.gz
  • Upload date:
  • Size: 35.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for siss-0.6.0.tar.gz
Algorithm Hash digest
SHA256 5cbcb6b9ad60237df6b3608d5a47135112ba0beeefd39fd03f59c66eb76ae386
MD5 76607b151aa6772bc4a4efbed781e67c
BLAKE2b-256 d2994f9eefa17ee4f4f399330c0983f8da91f415d80474ff4cdf8832e4d66c08

See more details on using hashes here.

Provenance

The following attestation bundles were made for siss-0.6.0.tar.gz:

Publisher: publish.yml on MichailSemoglou/siss

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file siss-0.6.0-py3-none-any.whl.

File metadata

  • Download URL: siss-0.6.0-py3-none-any.whl
  • Upload date:
  • Size: 19.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for siss-0.6.0-py3-none-any.whl
Algorithm Hash digest
SHA256 cd668bcd75bf0e46664cc9a8a13372889227d5d11522743eb6c629b13716de6f
MD5 3386d64c5e5e36cd4a040c8f8cd1ea3d
BLAKE2b-256 c0dd19a9925d30d99e2f1f1822a71a0ad82f3097e1a577c07096666461aa95e7

See more details on using hashes here.

Provenance

The following attestation bundles were made for siss-0.6.0-py3-none-any.whl:

Publisher: publish.yml on MichailSemoglou/siss

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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