Skip to main content

Clippiti

Cross-platforms livestream player with clipping and recording.

Clippiti is a PyQt6 desktop app that opens live streams via Streamlink, keeps a rolling local buffer, and lets you take snapshots or save both live and past moments as clips.

Features

  • Live stream playback via Streamlink + mpv
  • Rolling HLS buffer pipeline (Streamlink -> ffmpeg)
  • Clip export from buffered timeline
  • Recording with optional auto-remux to MP4
  • Floating controls, keyboard shortcuts, and OSD feedback
  • YAML config with runtime-editable settings dialog
  • CLI overrides for Streamlink and mpv options

Supported OS: Linux, Windows, macOS

Requirements

  • Python 3.12+
  • Desktop environment that supports PyQt6 apps

Non-Python dependencies

Clippiti requires these external tools at runtime:

  • mpv / libmpv (used by python-mpv for playback)
  • ffmpeg

streamlink is installed from Python packaging (clippiti-player dependency), so you do not need to install a system streamlink package.

Install them with your OS package manager.

Linux:

# Ubuntu / Debian
sudo apt install mpv libmpv2 ffmpeg

# Fedora
sudo dnf install mpv mpv-libs ffmpeg

# Arch Linux
sudo pacman -S mpv ffmpeg

macOS:

brew install mpv ffmpeg

Windows (PowerShell, using Scoop):

scoop install mpv ffmpeg

Verify they are available in PATH:

mpv --version
ffmpeg -version

Verify Python-installed Streamlink version from the same environment used to run Clippiti:

python -m streamlink --version

Install

From PyPI (recommended):

pip install clippiti-player

or with pipx:

pipx install clippiti-player

Run:

clippiti <url> <quality>

Install from source (development)

git clone <your-repo-url>
cd clippiti
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
pip install -e .

Alternative without editable install:

PYTHONPATH=src ./.venv/bin/python -m clippiti <url> <quality>

Command-line options

positional:
  url                      Stream URL to open
  quality                  Desired stream quality

optional:
  --sl TEXT                Pass-through Streamlink arguments string
  --mpv TEXT               Additional mpv options (YAML or key=value)
  --config PATH            Path to config YAML file
  --workdir PATH           Path to runtime working directory
  --verbose                Enable verbose startup logs

Example:

clippiti https://www.twitch.tv/example_channel best --sl "--retry-max 5" --mpv "vf=hflip"

Companion App: Lurkiti

If you want a tray app that monitors your favorite livestreams and opens them directly in your player, check out my Lurkiti.

Lurkiti is a lightweight desktop companion for stream monitoring and quick one-click launch into Clippiti or any other Streamlink supported media player.

Configuration

Clippiti stores configuration in YAML.

Resolution order:

  1. --config <path> if provided
  2. User config location (clippiti.yaml) if it exists
  3. <workdir>/config.yaml if it exists
  4. Fallback to <workdir>/config.yaml (or ./clippiti.yaml if no workdir)

User config location (clippiti.yaml) is typically:

  • Linux: ~/.config/clippiti.yaml
  • Windows: %APPDATA%\clippiti.yaml
  • macOS: ~/Library/Application Support/clippiti.yaml

Default workdir is:

  • /tmp/clippiti

Development

Install dev/test deps (already included in requirements.txt):

source .venv/bin/activate
pip install -r requirements.txt

Run tests:

PYTHONPATH=src ./.venv/bin/python -m pytest -q

Documentation

Troubleshooting

  • Stream metadata probe fails:
    • Verify URL is online/public
    • Verify streamlink is installed and runnable
  • Playback pipeline does not start:
    • Verify ffmpeg is installed and reachable
    • Use --verbose to inspect startup logs
  • mpv/video issues:
    • Verify python-mpv is installed
    • Try with simpler --mpv options first

License

MIT License - see LICENSE if present in this repository.

Acknowledgments

  • Streamlink
  • ffmpeg
  • PyQt6
  • python-mpv

Screenshots

Main Window Clip Dialog Settings Dialog

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

clippiti_player-0.1.13.tar.gz (2.4 MB view details)

Uploaded Source

Built Distribution

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

clippiti_player-0.1.13-py3-none-any.whl (174.3 kB view details)

Uploaded Python 3

File details

Details for the file clippiti_player-0.1.13.tar.gz.

File metadata

  • Download URL: clippiti_player-0.1.13.tar.gz
  • Upload date:
  • Size: 2.4 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for clippiti_player-0.1.13.tar.gz
Algorithm Hash digest
SHA256 c2b7d3a1d4ea228df3afd868b1cb889d6af4fb734e8ea7a508853ad60632732c
MD5 e533a3981d42aa75df032b12f7969b03
BLAKE2b-256 61a3e0fa08c5f059435b6b56b8df4f00e6d3026e20bf2e05579a7c6274ba5a59

See more details on using hashes here.

Provenance

The following attestation bundles were made for clippiti_player-0.1.13.tar.gz:

Publisher: publish.yml on tarzasai/clippiti

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

File details

Details for the file clippiti_player-0.1.13-py3-none-any.whl.

File metadata

File hashes

Hashes for clippiti_player-0.1.13-py3-none-any.whl
Algorithm Hash digest
SHA256 716e092eae4aedec84e756e4f271d93b02fd8c2551f02195759d3f763ffad7f0
MD5 dfe2d98c98e7aa65d4ee69b92ae68a9c
BLAKE2b-256 6465b3d1d63c711e45649af91d10fa0dae42ceb4a6389e8baa9219e3fc02db09

See more details on using hashes here.

Provenance

The following attestation bundles were made for clippiti_player-0.1.13-py3-none-any.whl:

Publisher: publish.yml on tarzasai/clippiti

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

Release history Release notifications | RSS feed

1.0.6

2 files

1.0.5

2 files

1.0.4

2 files

1.0.2

2 files

1.0.1

2 files

1.0.0

2 files

0.1.20

2 files

0.1.19

2 files

0.1.18

2 files

0.1.17

2 files

0.1.16

2 files

0.1.15

2 files

0.1.14

2 files

This release

0.1.13 This release

2 files

0.1.12

2 files

0.1.11

2 files

0.1.10

2 files

0.1.9

2 files

0.1.8

2 files

0.1.7

2 files

0.1.6

2 files

0.1.5

2 files

0.1.3.post0

2 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