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-2.0.0.tar.gz (57.6 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-2.0.0-py3-none-any.whl (60.2 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: mov_watch-2.0.0.tar.gz
  • Upload date:
  • Size: 57.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for mov_watch-2.0.0.tar.gz
Algorithm Hash digest
SHA256 b419c9ff224a4e266b6aabc71838904de80e6e8e5dd9023ff2c72a67dd5f5196
MD5 d3fb6052f54d38ab8813b8233a2892c4
BLAKE2b-256 5e94e9c3516c8aecbbe094d464bcddb5b5b1e76e9d84d5cb29d71df0f38e07ae

See more details on using hashes here.

Provenance

The following attestation bundles were made for mov_watch-2.0.0.tar.gz:

Publisher: publish-pypi.yml on leoallday/mov-watch

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

File details

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

File metadata

  • Download URL: mov_watch-2.0.0-py3-none-any.whl
  • Upload date:
  • Size: 60.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for mov_watch-2.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ab9f66c09a29700cebcb2a742067f346cde732e5129358be35479559258de7e2
MD5 354b1f6ee55ff7ecfb874f7fe8bde22c
BLAKE2b-256 ae63afecb3c01b0dff6efe49302c71054a17cbc6d4a90d806690ee1d32100d68

See more details on using hashes here.

Provenance

The following attestation bundles were made for mov_watch-2.0.0-py3-none-any.whl:

Publisher: publish-pypi.yml on leoallday/mov-watch

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

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