Skip to content

Pony-House/Tiny-Pony-Clipper

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

304 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

logo
Discord server Patreon Ko-Fi

Github Twitter Wallet Bitcoin

Tiny Pony Clipper

A lightweight, background clipping tool built with Electron and FFmpeg. Specifically optimized for Linux desktops (fully supporting both Wayland and X11), it constantly records a rolling buffer of your screen and saves the last few minutes instantly when a global shortcut is pressed.

๐ŸŒŸ Features

  • Wayland & X11 Support: Uses native desktop portals for seamless screen capture on modern Linux environments.
  • Advanced Audio Routing: Native PulseAudio/PipeWire integration. Record system audio and microphone into a single track, or split them into entirely separate audio tracks.
  • Smart Queue System: Save multiple clips back-to-back. The background job dispatcher isolates the cache, allowing you to keep playing while FFmpeg processes the videos in parallel.
  • Highly Customizable: Tweak FFmpeg parameters (codecs, presets, and quality commands) directly from the UI.
  • Remote Play Server (Experimental): Turn your PC into a remote multiplayer hub! We have implemented a new WebRTC-based server that allows you to receive Gamepad inputs directly from a web browser.
  • Up to 12 Players: Bring everyone in! You can configure the server to accept up to 12 simultaneous remote gamepads.
  • Bandwidth Saver (Video On/Off): You can stream both your gameplay video and audio directly through the web client. However, if you prefer using other software for screen sharing (like Discord or OBS) to save bandwidth, you can disable the video stream entirely! The client page will elegantly adapt into a pure, ultra-low latency "Gamepad Only" dashboard.

๐Ÿ› ๏ธ Prerequisites

Tiny Pony Clipper relies on robust native Linux tools to handle audio and video processing. Ensure your system has the following packages installed:

  • ffmpeg (for video encoding and assembly)
  • pulseaudio-utils (provides pactl for audio device routing)
  • libnotify-bin (for native system notifications)

On Ubuntu/Kubuntu/Debian systems, you can install them via:

sudo apt update
sudo apt install ffmpeg pulseaudio-utils libnotify-bin

๐ŸŽฎ Virtual Gamepad Support (uinput)

To use the Remote Play Server, the application needs permission to write to /dev/uinput.

Win32

Ensure your system has the following packages installed:

  • ffmpeg (for video encoding and assembly)
  • ViGEmBus (required if you want remote play features)

On your machine, you can install ffmpeg via:

choco install ffmpeg

๐Ÿš€ How to Use

  1. Launch the App: Open Tiny Pony Clipper. It will quietly reside in your system tray.
  2. Configure Your Hardware: Click the tray icon to open the Settings window. Select your Desktop Sound output and your Microphone.
  3. Set the Buffer: Choose how many minutes of history you want to keep in the buffer.
  4. Save a Clip: While playing a game or working, press the designated shortcut (default is F10 on Wayland environments). A notification will confirm that your clip is being processed and saved to your chosen directory!

Note for Wayland users: Due to Wayland's strict security protocols regarding global keyloggers, the application internally locks the capture shortcut to F10. Ensure your desktop environment passes this key to the application.

๐Ÿ“ฆ Installation (Pre-built)

Check the Releases page to download the latest files.

๐Ÿ’ป How to Build from Source

To successfully compile the native addons in this project, you need to ensure your environment has the necessary build tools and global packages installed.

If you want to contribute, modify the code, or compile it yourself, follow these steps:

1- Clone the repository

git clone https://github.com/Pony-House/Tiny-Pony-Clipper.git
cd Tiny-Pony-Clipper

1.1- System Prerequisites

Since node-gyp compiles C++ code, your system must have a C++ compiler and Python installed.

1.2- Global Node.js Dependencies

You will need node-gyp to handle the native build configurations and yarn for package management:

npm install -g node-gyp yarn

2- Install Node.js dependencies

yarn

3- Running the Build

Once the dependencies are met, you can trigger the configuration and compilation process:

yarn build:npx

4- Run in development mode

yarn start

5- Building the installers

The compiled binaries for both operating systems will be available in the dist/ folder after the process is finished.

5.1- Linux (.deb, .AppImage, .tar.gz)

To generate the installers for Linux distributions, run:

yarn build:linux

5.2- Windows (.exe) (BETA VERSION)

For Windows, the process requires an extra step to build the ViGEm client dependencies before packaging the final executable. Execute the following commands in order:

# First, build the ViGEm client
yarn build:win:vigemclient

# Then, build the Windows installer
yarn build:win

๐Ÿ’– Contributing

Contributions, bug reports, and pull requests are always welcome! If this tool helps you capture your best moments, consider starring the repository or supporting the project to help keep the development active.

Tiny thanks for using Tiny Pony Clipper!


๐Ÿ’ก Credits

๐Ÿง  Note: This documentation was written by Gemini, an AI assistant developed by Google, based on the project structure and descriptions provided by the repository author.
If you find any inaccuracies or need improvements, feel free to contribute or open an issue!

tiny-jasmini-js

Made with tiny love! ๐Ÿฎ