Skip to content

lvcabral/carabiner

Repository files navigation

Carabiner logo

Version 2.3.0 Build Passing License MIT Platform Linux | MacOS | Windows

Carabiner

Carabiner is a powerful video capture and remote control application designed for streaming device development and testing. It provides seamless control of Roku, Android-based streaming devices (Fire TV, Google TV, Android TV), Apple TV, and Xumo Stream Box (RDK, experimental) through intuitive floating, resizable windows — and can run multiple capture devices at once, each in its own window linked to its own streaming device.

Roku Fire TV Google TV Android TV Apple TV

Why Carabiner?

Perfect for developers and QA engineers who need to test streaming applications using capture cards and keyboard controls, eliminating the need for physical TV sets or remote controls. Whether you're developing apps, testing UI designs, or performing quality assurance, Carabiner streamlines your workflow by bringing your streaming devices directly to your desktop.

Features

Core Functionality

  • Multi-Device Support: Control Roku, Android-based devices (Fire TV, Google TV, Android TV), Apple TV, and Comcast Xumo (experimental)
  • Single or Multiple Windows: Use one Display window and switch devices on the fly (default), or opt into multi-window mode to run several capture devices simultaneously — each capture card in its own floating window linked to its own streaming device
  • Real-time Video Capture: View your streaming device output directly on your computer
  • Keyboard Control: Use your computer keyboard to navigate and control devices
  • Text Pasting: Paste clipboard content directly to streaming devices
  • Video Recording: Record streaming device sessions in MP4/WebM format — independently per window
  • Screenshot Capture: Save or copy screenshots with one click
  • Automation Scripts: Record key sequences with precise timing and replay them on demand
  • MCP Server: Let AI assistants control devices, run scripts, and capture screenshots via the Model Context Protocol for AI-driven QA automation
  • Roku Network Discovery: Find Roku devices on your local network automatically via SSDP — no need to look up IP addresses manually

Additional Features

  • Overlay Images: Load reference images for pixel-perfect UI comparison with opacity control — per window
  • Customizable Display: Adjust transparency, borders, dimensions and toggle always-on-top behavior
  • Control Demo Mode: Show the pressed control keys on the screen for demos and presentations
  • Global Shortcut: Quick show/hide all display windows from anywhere with a keyboard shortcut
  • Single Instance: Only one Carabiner runs at a time; launching again brings the running instance forward
  • Audio Capture: Toggle audio capture for testing audio features (TTS, Audio tracks)
  • Auto-Launch: Start with your system for seamless workflow
  • Resolution Control: Configure capture device resolution
  • Dark Mode Support: Allows to switch the settings interface to dark mode
  • Default Save Locations: Configure custom default folders for screenshots and recordings in the Files tab
  • Interactive Notifications: Click toast notifications to open saved file locations instantly

Quick Start

  1. Install Carabiner — via Homebrew (macOS) or download from the releases page:
    brew tap lvcabral/carabiner
    brew install --cask carabiner
    See the Installation Guide for all platforms and options.
  2. Launch Carabiner
  3. Add your streaming device(s) in the Control tab
  4. In the General tab, find your capture card in the list, link a control device to it, and check Enabled to open its window
  5. Repeat per capture card to run several devices at once — then start controlling!

For detailed setup and usage instructions, see our comprehensive guides:

Contributing

We welcome contributions to make Carabiner better! Here's how you can help:

Ways to Contribute

Technology Stack

Acknowledgments

This application was built with inspiration and code from several excellent open-source projects:

  • floatcam by @theterminalguy - Primary foundation for settings interface and video display functionality
  • FireTVRemote-Node 🔥 by @ZaneH - Reference implementation for ADB remote control of Android devices
  • Roku GamePad Gateway by @lvcabral - Reference for Roku ECP API integration

Project Background

Code Fest Network Streaming

Carabiner was created during the Paramount Network Streaming - Code Fest 2024 and was selected as the winning project. The name was inspired by the essential tool used by mountain climbers – just as a carabiner connects climbers to their lifeline to reach the top, this app connects developers to their streaming devices.

Connect with the Developer

License

Copyright © 2024-2026 Marcelo Lv Cabral. All rights reserved.

Licensed under the MIT License.