Commit 8181d1
2025-07-06 22:24:48 Tebby Dog: Updated with Satire| /dev/null .. 2-code/docker/subway-surfers.md | |
| @@ 0,0 1,111 @@ | |
| + | # 🚄 Subway Surfers Text-to-Video Converter | 
| + | Inspired by the absolute legend [danielbonkowsky/subwaysurfers-text](https://github.com/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: | 
| + | ```sh | 
| + | docker pull tebwritescode/subwaysurfers-text20:latest | 
| + | ``` | 
| + | |
| + | **Step 2:** Get the Vosk brain model and unzip it: | 
| + | ```sh | 
| + | 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: | 
| + | ```sh | 
| + | 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. | 
| + | |
| + | ```yaml | 
| + | 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: | 
| + | ```sh | 
| + | 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](https://github.com/danielbonkowsky/subwaysurfers-text) 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 🚀 |