Skip to content

idusha-manaka/TubeASCII

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

26 Commits
 
 
 
 
 
 
 
 

Repository files navigation

🎬 TUBE-ASCII

The Ultimate Command-Line YouTube Experience

Typing SVG

Python License Stars Views


🚀 Transform your terminal into a cinematic powerhouse.

TubeASCII uses advanced rendering logic to stream high-definition video directly to your console.

✨ Features🚀 Setup🎮 Controls🛠️ Architecture


⚡ System Architecture

graph TD
    %% Node Definitions
    URL([🔗 YouTube URL])
    YTDL[📦 yt-dlp Engine]
    CV2[🖼️ OpenCV Decoder]
    FF[🔊 FFmpeg Engine]
    RNDR{🎨 Render Mode}
    BLK[▀ Block Mode]
    ASC[🔡 ASCII Mode]
    TERM[🖥️ Terminal Screen]

    %% Connections
    URL --> YTDL
    YTDL -->|Video| CV2
    YTDL -->|Audio| FF
    CV2 --> RNDR
    RNDR -->|High Res| BLK
    RNDR -->|Classic| ASC
    BLK --> TERM
    ASC --> TERM
    FF -->|Synced| TERM

    %% Styling
    style URL fill:#E1F5FE,stroke:#01579B,stroke-width:2px,color:#000
    style YTDL fill:#ECEFF1,stroke:#455A64,color:#000
    style CV2 fill:#E8EAF6,stroke:#3F51B5,color:#000
    style FF fill:#F1F8E9,stroke:#558B2F,color:#000
    style RNDR fill:#FFF9C4,stroke:#FBC02D,color:#000
    style TERM fill:#263238,stroke:#00BCD4,stroke-width:3px,color:#fff
    style BLK fill:#E0F7FA,stroke:#006064,color:#000
    style ASC fill:#F5F5F5,stroke:#212121,color:#000
Loading

💎 Key Features

  • 🎨 Block Mode (): Utilizes half-blocks to achieve double the vertical resolution and incredible color accuracy.
  • 🚀 Stream Direct: No disk space? No problem. Stream directly from YouTube servers to your terminal.
  • 🔊 Sonic Sync: Perfectly aligned background audio using multi-threaded FFmpeg processing.
  • Turbo Playback: Adjust playback speed on-the-fly from 0.25x to 3.0x with zero lag.
  • 📐 Smart Scaling: Automatically detects and scales video frames to fit your terminal window.

🚀 Installation & Usage

1️⃣ Prepare Your Gear

Ensure you have Python 3.8+ and Pip installed.

2️⃣ Get the Code

git clone https://github.com/idusha-manaka/TubeASCII.git
cd TubeASCII
pip install -r requirements.txt

3️⃣ Audio Hardware (FFmpeg)

Download ffmpeg.exe and ffplay.exe from this link and place them in the project root folder.

4️⃣ Ignition

python main.py

🎮 Battle Stations: Controls

Command Key Action
Play / Pause Space Toggle video playback
Increase Speed Speed up the stream (+0.25x)
Decrease Speed Slow down the stream (-0.25x)
Adjust Sync [ ] Manually fix Audio/Video delay
Abort Q Quit the player

🛠️ The Tech Arsenal

  • Extraction: yt-dlp (The world's best video downloader/extractor)
  • Vision: OpenCV (High-performance frame processing)
  • Rendering: Custom Python Engine (ANSI/VT100 Color virtualization)
  • Audio: FFmpeg Essentials (The industry standard for media processing)

📈 Roadmap

  • High-Resolution Block Mode
  • Dynamic Audio Synchronization
  • Direct YouTube Playlist Support
  • Cross-Platform Binary Support (.exe / .app)

🌟 Legend Status

If you find this project cool, give it a star! It helps more developers discover the magic.

I LOVE THIS


Crafted with 💖 by Idusha Manaka

Follow


About

TubeASCII Player is a high-performance Python application that streams YouTube videos directly into your terminal without downloading. Powered by yt-dlp and OpenCV, it features a stunning high-color block mode for accurate video rendering, multiple classic ASCII art styles, synchronized audio via FFplay, and dynamic playback speed controls.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages