This Kotlin program extracts frames from the "bad_apple.mp4" video file and renders them as ASCII art in the terminal while playing the accompanying audio. It's inspired by the "Bad Apple!!" music video.
- Download the FFmpeg executable from FFmpeg's official website.
- Extract the FFmpeg files to a directory, for example
C:\ffmpeg
. - Add the
C:\ffmpeg\bin
directory to your system'sPATH
environment variable.- Right-click on
This PC
orComputer
on your desktop or in File Explorer. - Select
Properties
. - Click on
Advanced system settings
. - Click on
Environment Variables
. - Under
System variables
, find thePath
variable, select it, and clickEdit
. - In the
Edit Environment Variable
window, clickNew
and add the path to theffmpeg
bin directory (e.g.,C:\ffmpeg\bin
). - Click
OK
to close all windows.
- Right-click on
- Open a new command prompt and type
ffmpeg -version
to verify thatffmpeg
is correctly installed and accessible from the command line.
- Install FFmpeg using Homebrew:
brew install ffmpeg
- Verify the installation:
ffmpeg -version
- Install FFmpeg using your distribution's package manager:
- Debian/Ubuntu:
sudo apt update sudo apt install ffmpeg
- Fedora:
sudo dnf install ffmpeg
- Arch Linux:
sudo pacman -S ffmpeg
- Debian/Ubuntu:
- Verify the installation:
ffmpeg -version
-
Clone the Repository: Clone this repository to your local machine.
git clone https://github.com/ShinniUwU/BadAppleKT.git
-
Navigate to the Directory: Change directory to the cloned repository.
cd BadAppleKT
-
Compile and Run: Compile and run the Kotlin program using Gradle.
./gradlew run
Upon running the program, it will extract frames from the "bad_apple.mp4" video file and render them as ASCII art in the terminal. The audio will simultaneously play in sync with the ASCII animation.
- Frame Rate: Adjust the
frameRate
variable in themain()
function to change the speed of the animation. - ASCII Characters: Modify the
asciiChars
array in theconvertToAscii()
function to customize the ASCII representation.
This program is inspired by the "BadAppleK" repo.
This project is licensed under the GNU General Public License (GPL).
Developed by Hana (ME :3).
Feel free to contribute, report issues, or suggest improvements!
So far, it's been tested only on Linux Kitty terminal. It needs to be made compatible with a full range of terminals. Please note that I won't be actively working on this repository. However, if someone wants to push updates, feel free to do so.