๐ Subway Surfers Text-to-Video Converter
Inspired by the absolute legend danielbonkowsky/subwaysurfers-text, this project throws some sauce on the original concept. If this container saves you time (or your sanity), go drop a star on his project already, damn it.
๐ What the Hell Is This?
You ever try to focus on an article and your brain taps out after the second paragraph? Same. This little monster extracts text from a webpage and slaps it onto hyperactive Subway Surfers gameplay footageโturning dry, boring content into something your scrolling-addicted brain can actually sit through. Perfect for TikTok, ADHD, or just making studying suck less.
You get:
๐ง smart content + ๐ฎ mindless gameplay = โ
actual retention (probably)
๐ธ Screenshot
Add a screenshot here dumbass
๐ฏ Oh Hell Yeah, Features
- Converts your average web article into a Subway Surfers-screaming-TikTok-style video
- Rips text straight from URLs
- Slaps it on top of fast-ass gameplay
- Bonus points: speech-to-text powered by Vosk API
- Built with Flask + OpenCV + goose3 + Python + zero chill
๐ณ Running This Beast with Docker
Step 1: Pull the image, because weโre not building this crap from scratch:
docker pull tebwritescode/subwaysurfers-text20:latest
Step 2: Get the Vosk brain model and unzip it:
wget https://alphacephei.com/vosk/models/vosk-model-en-us-0.22.zip unzip vosk-model-en-us-0.22.zip -d ./ rm vosk-model-en-us-0.22.zip
Step 3: Drop a gameplay video into ./sources
โ any .mp4
will do. More videos = more fun. Only one? It'll reuse that sucker on every run.
Step 4: Letโs ride:
docker run -d --name subwaysurfers-text \ -v ./subwaysurfers/sources:/app/sources \ -v ./subwaysurfers/vosk-model-en-us-0.22:/app/static/vosk-model-en-us-0.22 \ -p 5000:5000 \ tebwritescode/subwaysurfers-text20:latest
Step 5: Fire up your browser and hit:
http://localhost:5000
Get ready to weep tears of productivity as your article runs across a CGI train track.
๐ Using Docker Compose Like a True King ๐
Replace <HOSTPATH>
with the full path to where your god-tier video and Vosk model live.
services: subwaysurfers-text: image: tebwritescode/subwaysurfers-text20:latest volumes: - <HOSTPATH>/sources:/app/sources - <HOSTPATH>/vosk-model-en-us-0.22:/app/static/vosk-model-en-us-0.22 ports: - "5000:5000"
Start it up:
docker-compose up -d
Fun fact: if you only mount one .mp4
, the app will always use that. Mount a folder of them? It picks a random vid each time. ๐ฒ
๐ The Dockerfile Straight-Up Breakdown
- Uses a slimmed-down official Python image
- Installs all the nasty dependencies (yes, even ffmpeg and build tools)
- Brings in Homebrew in case you're feeling fancy
- Copies the app, installs Python and brew packages
- Runs Flask like it means it
- Your container, your rules
๐ฎ Shit I Still Wanna Add
- Drop-down to select different AI voices (because not every AI wants to sound like Siri on Ambien)
- NVIDIA GPU acceleration (because some of you have beefy rigs)
- Fix that annoying subtitle-stuck bug nobody asked for
๐ง Want to Run It Without Docker?
You rebel. Hereโs the repo for bare-metal installs:
๐ https://github.com/tebwritescode/subwaysurfers-text-multi
๐ Big-Ass Credit Section
Massive props to danielbonkowsky for the core idea. This is just a remixed, Dockerized, slightly louder sibling. Go say thanks.
โ ๏ธ Final Note from His Royal Freshnessโข
Yeah, the container works. It does the job. But it's packing a little extra weight and could use a clean-up. If trimming containers gives you a tech boner, PRs are wide open.
Enjoy learning like a hyper-caffeinated teenager on TikTok ๐