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.3.tar.gz (56.3 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.3-py3-none-any.whl (58.9 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for mov_watch-1.3.tar.gz
Algorithm Hash digest
SHA256 2d6cf82b94ac35dea0bddee1c0254d1157294f162a85e77bb82c926dd007ee85
MD5 24d3fbbe159c128b404e3f149ba3e08f
BLAKE2b-256 a857ca6bb330bb691b7d9eda6d048f73f9109fa412610803c9b4f8b15c6d835a

See more details on using hashes here.

Provenance

The following attestation bundles were made for mov_watch-1.3.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-1.3-py3-none-any.whl.

File metadata

  • Download URL: mov_watch-1.3-py3-none-any.whl
  • Upload date:
  • Size: 58.9 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-1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 223b2c1e7dc146fa03e3c2d8ead20ae6e10d04575f9a314c0897d6f7b2f8aa17
MD5 ece8d551c69857d88b46eeb70a52f668
BLAKE2b-256 177f70814206799d54b2a8aec734dc006b1ab3ce1b4e61c398f16a67e696f55e

See more details on using hashes here.

Provenance

The following attestation bundles were made for mov_watch-1.3-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