๐ Subway Surfers Text-to-Video Converter
Skip the fairy-tale, just give me the code already --> Click Here
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
๐ฏ 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)Nixed this shit, GPU transcoding is slow AFFix that annoying subtitle-stuck bug nobody asked forI think I squashed this fucker
๐ง 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 ๐