Skip to content

AlekseyScorpi/ascii-video-player

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ASCII Video Player <🎬→ASCII>

A terminal-based video player that converts video frames to ASCII art in real-time with audio support.

✨ Features

  • Real-time video playback with synchronized audio
  • Adjustable ASCII output size (width/height)
  • Smart buffering for smooth playback
  • Supports MP4/AVI/MKV/MOV/FLV formats
  • Auto-creates `video` directory if missing

Python MoviePy simple-image2ascii

🚀 Quick Start

Prerequisites

  • Python 3.8+
  • FFmpeg (essential for video processing)
# Install FFmpeg:
# Linux:
sudo apt install ffmpeg

# Windows (via Chocolatey):
choco install ffmpeg

Installation

  1. Clone the repository:
git clone https://github.com/yourusername/ascii-video-player.git
cd ascii-video-player
  1. Install dependencies:
pip install -r requirements.txt
  1. Add your video file:
mkdir -p video  # Skip if auto-created
cp your_video.mp4 video/

Usage

# Basic usage (auto-selects first video in ./video):
python main.py

# Custom ASCII dimensions (width height):
python main.py 80 40

🖥️ Technical Details

Project Structure

📁 ascii-video-player/
├── video/          # Directory for video files (auto-created)
├── main.py         # Entry point with CLI handling
├── movie.py        # Core playback engine
├── requirements.txt
└── README.md

Key Components

  • Dual buffering system (`Queue` based)
  • Threaded video processing
  • Audio-video synchronization
  • Dynamic ASCII resolution scaling

⚠️ Known Limitations

  • Optimal performance at ~30 FPS
  • Requires monospace terminal font
  • Large videos may require significant RAM
  • First-run will fail until videos are added to `./video`

👏 Apprecation

📜 License

MIT License - See LICENSE for details.

✉ Contact

📧 Email: timoshin_aleksey02@mail.ru
🐙 GitHub: AlekseyScorpi

About

Python console program to play your video as ASCII code in terminal

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages