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, on a square or hex-offset grid. 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, 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.5.0.tar.gz (33.0 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.5.0-py3-none-any.whl (18.1 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for siss-0.5.0.tar.gz
Algorithm Hash digest
SHA256 5ba02741a0b923caa9e0ebadf456b4695399380163c3149b0ac37482603c8b79
MD5 f520a6c308b92a178235c8217bdadefb
BLAKE2b-256 989855387b21d6fc4bcf7e61f790ea4f11e66f6dedef38cf4e3285d0906c5477

See more details on using hashes here.

Provenance

The following attestation bundles were made for siss-0.5.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.5.0-py3-none-any.whl.

File metadata

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

File hashes

Hashes for siss-0.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 55a66a70db6a809db7c4b319fe2e4210b00a2f4e1758a3ff6d2a39c84d1fae91
MD5 d267a9da5e5118fabb6ac5d639059429
BLAKE2b-256 aef13dec4522d0771722e13e78af49aa41815504099959ac55e9e337cfe18991

See more details on using hashes here.

Provenance

The following attestation bundles were made for siss-0.5.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