Skip to main content

Terminal-based movie and TV show streaming

Project description

📑 Navigation

InstallationFeaturesHow to UseKeyboard ShortcutsConfigurationCreditsLicense


Terminal-based movie and TV show streaming with Arabic/English subtitles





📦 Installation

Requirements

Before installing, make sure you have:

  • Python 3.8 or newer (Python 3.12 recommended)
  • MPV media player (for streaming)
  • ffmpeg (for video processing)
  • fzf (for fuzzing results, optional)
  • yt-dlp (for video processing)
  • aria2 (for video downloading)
  • beautfullsoup (for web scraping)

⚠️ Important Note: If you are using macOS, build from source.

Method 1: Install via pip (Recommended)

The easiest way to get started:

pip install mov-watch

Launch the app:

mov-watch
# or use the shorter command
mw

To update to the latest version:

pip install --upgrade mov-watch

Method 2: Arch Linux (AUR)

yay -S mov-watch

Method 3: From Source

Want to run the development version?

On Windows:

# Install MPV first (if not already installed or bundled by mov-watch)
# scoop install mpv

# Clone the repo and install dependencies
git clone https://github.com/leoallday/mov-watch.git
cd mov-watch
pip install -r requirements.txt
python main.py

On Linux (Debian/Ubuntu):

# Get the dependencies (mov-watch will attempt to auto-install these)
# sudo apt update && sudo apt install mpv git python3-pip ffmpeg fzf

# Clone and run
git clone https://github.com/leoallday/mov-watch.git
cd mov-watch
pip install -r requirements.txt
python3 main.py

On macOS:

# Get the dependencies (mov-watch will guide you to install these via Homebrew)
# brew install mpv ffmpeg fzf

# Clone and run
git clone https://github.com/leoallday/mov-watch.git
cd mov-watch
pip install -r requirements.txt
python3 main.py

🎯 What Can You Do?

Here's everything this tool offers:

Streaming & Playback

  • Multiple Quality Options: Watch in 1080p, 720p, or 480p depending on your internet speed
  • Subtitle Support: Automatically fetches and prioritizes Arabic and English subtitles, making both available for selection in your media player.
  • Resume from History: Pick up exactly where you left off (buggy - acknowledged)

Personal Library

  • Favorites System: Bookmark your favorite movies and TV shows for quick access
  • Episode Tracking: The app remembers which episode you're on

Interface & Experience

  • Rich TUI (Terminal User Interface): Beautiful terminal interface built with Rich library

  • Color Themes: Choose from various color themes.

  • Discord Rich Presence: Show off what you're watching on Discord with media posters

  • Smooth Navigation: Intuitive keyboard controls

Technical Features

  • Zero Ads: Clean streaming experience
  • Automatic Updates: Built-in version checker notifies you of new releases, and yes this can be turned off.
  • MPV/VLC Support: Choose your preferred media player
  • Dependency Auto-installer: Automatically checks and installs missing dependencies.
  • Cross-platform: Works on Windows, Linux, and macOS

🎮 How to Use

  1. Launch the app: Run mov-watch or mw
  2. Browse or Search: Use the main menu to search, view trending, or browse genres
  3. Select Media: Navigate with arrow keys and press Enter
  4. Pick an Episode/Movie: Choose which episode or movie to watch
  5. Enjoy: MPV/VLC will launch and start streaming

You can also use interactive mode for quick searches:

mw -i "The Matrix"

⌨️ Keyboard Shortcuts

Key What it Does
↑ / ↓ Navigate through lists
Enter Select/Confirm choice
G Jump directly to an episode number
B Go back to previous screen
Q / Esc Quit the application
Space Pause/Resume video (in player)
← / → Rewind/Forward 5 seconds
F Toggle fullscreen

⚙️ Configuration

Settings are stored locally in ~/.mov-watch/database/config.json

Available Settings

Access the settings menu from the main screen to customize:

  • Default Quality: Set your preferred quality (1080p, 720p, or 480p)
  • Player: Choose between MPV or VLC
  • Auto-next Episode: Toggle automatic episode continuation
  • Discord Rich Presence: Show or hide Discord activity
  • Theme Color: Pick from various color schemes.
  • Analytics: Opt-in/out of anonymous usage stats - this is auto enabled by default.
  • Update Checking: Toggle automatic update notifications

You can also manually edit the config file if you prefer.


🙏 Credits

mov-watch is created and maintained by:


📄 License

This project is licensed under the GNU General Public License v3.0.

You're free to use, modify, and distribute this software under the terms of the GNU General Public License v3.0. See the LICENSE file for the full legal text.

In simple terms:

  • ✅ Use it for personal or commercial purposes
  • ✅ Modify the source code
  • ✅ Distribute it to others
  • ✅ Sub-license it
  • ⚠️ Provide attribution
  • ⚠️ Include the original copyright notice and license text

⚠️ Important Notice

[! CAUTION] By using this software you understand:

  • Anonymous usage statistics are collected for the GitHub page stats banner (can be disabled in settings) - (Note: mov-watch analytics are explicitly mentioned as opt-in/out, but the banner part is from ani-cli-arabic, needs clarification if mov-watch uses it.)
  • The project is licensed under GNU General Public License v3.0 - see LICENSE for details
  • We do not host any content; all streams are from third-party sources
  • This tool is for personal use and educational purposes only


Made with ❤️ by leoallday

⭐ Star this repo | 🐛 Report bugs | 💬 Discussions

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

mov_watch-1.2.tar.gz (56.1 kB view details)

Uploaded Source

Built Distribution

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

mov_watch-1.2-py3-none-any.whl (58.5 kB view details)

Uploaded Python 3

File details

Details for the file mov_watch-1.2.tar.gz.

File metadata

  • Download URL: mov_watch-1.2.tar.gz
  • Upload date:
  • Size: 56.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.2

File hashes

Hashes for mov_watch-1.2.tar.gz
Algorithm Hash digest
SHA256 f2aca7a1f989bc4131be879eeefa7bf32f547bbbbb0296eeb58a532e0bab016e
MD5 663978c15332a431ef49d08df084606a
BLAKE2b-256 07b5fac6df1caf8e7197188f69681a355dc320411bddd3e8ef7e1bd6715261f0

See more details on using hashes here.

File details

Details for the file mov_watch-1.2-py3-none-any.whl.

File metadata

  • Download URL: mov_watch-1.2-py3-none-any.whl
  • Upload date:
  • Size: 58.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.2

File hashes

Hashes for mov_watch-1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 c9335caf13db21a06f07f5b5dcff94abaf40e3e76655e33ba107c659f424f81b
MD5 2e8d5abc2e1fac327893d504dbbda395
BLAKE2b-256 61898bedda26c600cb44af7d9a59d9a7d9ff361e0c91858d54440c2f0d17e206

See more details on using hashes here.

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