
StreamWatch
Your Lightweight CLI Companion for Live Streams
pip install streamwatch
Watch Live Streams Without the Browser
Lightweight & Fast
StreamWatch consumes a fraction of the CPU and RAM compared to a browser, ensuring a smooth experience.
Focus-Friendly
A clean, distraction-free terminal interface. No ads, no recommendations, just your favorite streams.
Efficient Workflow
Manage and launch live streams from a single, keyboard-driven command-line interface in seconds.
An intuitive and powerful terminal UI:

Get Started in Minutes
-
1. Install with Pip:
pip install streamwatch
-
2. Run StreamWatch:
streamwatch
The app will create its configuration files on the first run.
-
3. Add & Watch:
Use the 'A' key to add stream URLs, 'F' to refresh the list, and the interactive menu to select and play.
Prerequisites: Requires Python 3.7+ and MPV Media Player.
Powerful Features for Your Terminal
- Live Status Display: See who's online with their username, platform, category, and viewer count.
- Background Recording: Record live streams to a file while you continue to browse or watch other streams.
- Interactive Navigation: Use arrow keys, number input, or search to quickly select streams.
- In-Playback Controls: Change quality, skip to the next/previous stream, and more, right from the terminal.
- Custom Aliases: Assign memorable names to your favorite streams for a personalized list.
- Full Stream Management: Easily add, remove, list, import, and export your streams.
- File-Based Management: Use a `streams.d` directory with simple `.txt` files to manage stream lists.
- Automatic Reconnection: Automatically tries to reconnect if a stream drops.
- Playback Hooks: Trigger your own custom scripts before and after a stream plays for ultimate automation.
- Polished UI: A modern and colorful terminal interface powered by Rich.
Supported Streaming Platforms
StreamWatch works with virtually any streaming platform supported by Streamlink. Here are the most popular ones:
Twitch
Full support for Twitch streams, VODs, and clips with chat integration options.
YouTube
Watch YouTube Live streams and premieres with all quality options.
Kick
Support for Kick.com streams with real-time status updates.
Facebook Gaming
Stream Facebook Gaming content with quality selection.
TikTok Live
Watch TikTok Live streams directly from your terminal.
Instagram Live
Access Instagram Live streams with StreamWatch.
Many More
Support for 100+ platforms including Dailymotion, Vimeo, Steam, and regional services.
Direct URLs
Support for direct HLS/DASH streams and m3u8 playlists.
Note: Platform support is powered by Streamlink. For the complete list of supported sites, visit their plugins page.
Installation Options
🐍 pip (Recommended)
Install from PyPI with automatic dependency management:
pip install streamwatch
📦 pipx (Isolated)
Install in an isolated environment to avoid conflicts:
pipx install streamwatch
🔧 Development Install
Install from source for the latest features:
git clone https://github.com/snowballons/streamwatch-cli.git
cd streamwatch-cli
pip install -e .
Prerequisites
- Python 3.7+ - Required for StreamWatch
- MPV Media Player - For video playback
- Streamlink - Automatically installed as a dependency
On most systems, you can install MPV with:
Architecture & Technology Stack
StreamWatch is built with modern Python technologies, prioritizing performance, reliability, and user experience.
🏗️ Core Architecture
- Python 3.7+ - Modern Python with async/await support
- Modular Design - Clean separation of concerns
- Event-Driven - Responsive UI with minimal blocking
- Configuration-First - Extensive customization options
🎨 User Interface
- Rich - Beautiful terminal formatting and colors
- Prompt Toolkit - Advanced keyboard handling
- Interactive Menus - Intuitive navigation system
- Real-time Updates - Live stream status monitoring
🔗 Stream Processing
- Streamlink - Robust stream extraction engine
- MPV Integration - High-performance video playback
- Quality Selection - Automatic and manual quality control
- Reconnection Logic - Automatic stream recovery
💾 Data Management
- File-Based Storage - Simple, portable configuration
- SQLite Database - Reliable and Fast
- Stream Lists - Organized in `.txt` files
- Backup/Export - Easy data portability
Performance Comparison
StreamWatch delivers exceptional performance compared to browser-based streaming, providing a superior experience for users who value efficiency.
Metric | StreamWatch | Chrome Browser | Firefox Browser | Improvement |
---|---|---|---|---|
RAM Usage | 25-45 MB | 150-300 MB | 120-250 MB | 85% less |
CPU Usage | 2-8% | 15-30% | 12-25% | 75% less |
Startup Time | 1-2 seconds | 3-8 seconds | 2-6 seconds | 70% faster |
Network Overhead | 0% extra | 10-20% extra | 8-15% extra | Pure stream |
Battery Impact | Minimal | High | Medium-High | 60% better |
Why StreamWatch Performs Better
🚀 No Browser Overhead
Eliminates JavaScript engines, DOM rendering, and web page resources that consume memory and CPU.
🎯 Purpose-Built
Designed specifically for streaming with optimized codepaths and minimal dependencies.
📡 Direct Stream Access
Bypasses web page loading and accesses video streams directly, reducing latency and bandwidth.
⚡ Native Performance
Uses native system media players (MPV) instead of browser video decoders for optimal performance.
Interactive Command Reference
StreamWatch offers both interactive terminal UI and command-line arguments for different use cases.
📺 Basic Usage
streamwatch
Launch the interactive terminal interface
streamwatch --list
Show all configured streams
streamwatch --play "stream_name"
Play a specific stream directly
⚙️ Stream Management
streamwatch --add "Name" "URL"
Add a new stream to your list
streamwatch --remove "stream_name"
Remove a stream from your list
streamwatch --import file.txt
Import streams from a file
streamwatch --export file.txt
Export your streams to a file
🎮 Interactive Controls
When using the interactive interface, these keyboard shortcuts are available:
🔧 Advanced Options
streamwatch --quality best
Force specific quality (best, worst, 720p, 480p, etc.)
streamwatch --config-path /path/
Use custom configuration directory
streamwatch --no-reconnect
Disable automatic reconnection
streamwatch --debug
Enable debug logging
Frequently Asked Questions
How do I install MPV on my system?
MPV installation varies by operating system:
- Ubuntu/Debian:
sudo apt install mpv
- macOS:
brew install mpv
or download from mpv.io - Windows: Download from mpv.io/installation/
- Arch Linux:
sudo pacman -S mpv
Why can't StreamWatch find my streams?
This usually happens when streams are offline or URLs have changed. Try:
- Press 'F' to refresh stream status
- Check if the stream is actually live on the platform
- Update the stream URL if the channel has moved
- Ensure you're using the correct stream URL format
Can I use StreamWatch without MPV?
No, MPV is required for video playback. However, you can configure StreamWatch to use alternative players by modifying the configuration file. MPV is recommended because it's:
- Lightweight and fast
- Excellent format support
- Low resource usage
- Cross-platform compatibility
How do I backup my stream list?
StreamWatch stores streams in simple text files that are easy to backup:
- Manual backup: Copy the
~/.config/streamwatch/streams.d/
directory - Export command:
streamwatch --export backup.txt
- Import command:
streamwatch --import backup.txt
Your streams are stored in ~/.config/streamwatch/
on Linux/macOS or %APPDATA%\streamwatch\
on Windows.
StreamWatch is using too much CPU/RAM. What can I do?
StreamWatch is designed to be lightweight, but here are optimization tips:
- Reduce stream quality in MPV settings
- Disable automatic stream status checking
- Close other resource-heavy applications
- Use hardware acceleration if available
- Check for system background processes
Normal usage should be 25-45MB RAM and 2-8% CPU.
Can I customize the appearance and behavior?
Yes! StreamWatch is highly customizable:
- Colors: Edit the configuration file to change terminal colors
- Keybindings: Customize keyboard shortcuts
- Player settings: Configure MPV parameters
- Auto-reconnect: Enable/disable automatic reconnection
- Hooks: Run custom scripts before/after playback
Configuration files are located in ~/.config/streamwatch/
How do I report bugs or request features?
We welcome feedback and contributions!
- Bug reports: GitHub Issues
- Feature requests: GitHub Discussions
- Contributing: See our Contributing Guide
Please include your OS, Python version, and StreamWatch version when reporting issues.
Is StreamWatch safe and legal to use?
Yes, StreamWatch is completely safe and legal:
- Open Source: Full source code available on GitHub
- No ads or tracking: Completely privacy-focused
- Legal streaming: Only accesses publicly available streams
- No content storage: Streams directly without downloading
- MIT License: Free and open source software
Use Cases & Scenarios
🎮 Gaming Streamers
Watch your favorite gaming streams while playing, without the performance impact of a browser.
- Monitor multiple streamers efficiently
- No browser memory leaks during long sessions
- Quick stream switching with hotkeys
💻 Developers & Professionals
Keep streams running in the background while coding or working, with minimal system impact.
- Background audio/video while coding
- Terminal integration with tmux/screen
- Automation with custom scripts
🖥️ Server & Remote Environments
Watch streams on headless servers or remote systems where browsers aren't practical.
- SSH tunnel streaming
- Headless server entertainment
- Low-bandwidth remote viewing
🔋 Battery Conservation
Extend laptop battery life significantly compared to browser streaming.
- 60% better battery efficiency
- Lower heat generation
- Reduced fan noise
🌐 Network Management
Better control over bandwidth usage and network resources.
- Direct stream access (no extra overhead)
- Quality control for limited bandwidth
- Proxy and VPN friendly
🎯 Minimalist Setup
Perfect for users who prefer clean, distraction-free interfaces.
- No ads or recommendations
- Clean terminal aesthetic
- Keyboard-driven workflow
Community & Contributing
How to Contribute
Community Guidelines
- Be respectful: Treat all community members with kindness
- Stay on topic: Keep discussions relevant to StreamWatch
- Help others: Share knowledge and assist fellow users
- Follow standards: Use proper formatting and clear descriptions
Full Documentation & Configuration
For comprehensive information on advanced configuration, command-line arguments, troubleshooting, and contributing, please refer to the project's official `README` on GitHub.
View Full Documentation on GitHub