No description
Find a file
2026-06-09 20:48:46 +03:00
invidious_cli.py lot of work 2026-06-09 20:47:23 +03:00
README.md lot of work 2026-06-09 20:48:46 +03:00
requirements.txt lot of work 2026-06-09 20:47:23 +03:00

inv_cli_downloader

A terminal user interface (TUI) utility for searching videos via the Invidious API and downloading them in 720p quality using the embedded yt-dlp engine.

Features

Asynchronous Search: API requests are handled non-blockingly via httpx, keeping the UI responsive during search operations.

Background Downloading: Video downloading runs in a separate thread (threading), allowing you to continue browsing search results while files download.

Integrated Progress Bar: Real-time download progress, percentages, and ETA are displayed directly inside the Textual status panel.

Automated Stream Merging: Downloads video targets in 720p with the correct audio stream automatically embedded into a standard .mp4 container.

Requirements and Installation

This script requires Python 3.8 or higher. Root privileges are not required.

All external libraries are managed via requirements.txt. To install them, run:

pip install -r requirements.txt

Note: If pip or installed tools are not recognized by your shell after installation, ensure your local binary directory is added to your user's PATH:

echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc source ~/.bashrc

Usage

Launch the interface by running: python invidious_cli.py

Controls (Keybindings)

`` Enter inside the input field — Submit search query.

Up / Down Arrows or Mouse Click — Navigate the search results (displays the top 20 videos).

Enter on a selected list item — Initiate video download.

Q — Safely exit the application. ``

Configuration

By default, the script connects to the https://yt.chocolatemoo53.com instance. To switch to a different node, edit the INVIDIOUS_INSTANCE constant at the top of invidious_cli.py:

INVIDIOUS_INSTANCE = "[https://your-preferred-instance.com](https://your-preferred-instance.com)"

License

MIT