Blame
c5163d | Tebby Dog | 2025-07-06 22:29:58 | 1 | # 🚄 Subway Surfers Text-to-Video Converter |
2 | ||||
3 | Skip the fairy-tale, just give me the code already --> [Click Here](https://teb.codes/2-Code/Docker/Subway-Surfers#using-docker-compose-like-a-true-king) |
|||
4 | ||||
8181d1 | Tebby Dog | 2025-07-06 22:24:48 | 5 | 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. |
6 | ||||
7 | ## 🚀 What the Hell Is This? |
|||
8 | 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. |
|||
9 | ||||
10 | You get: |
|||
11 | 🧠 smart content + 🎮 mindless gameplay = ✅ actual retention (probably) |
|||
12 | ||||
d44433 | Tebby Dog | 2025-07-06 22:27:36 | 13 | ## 📸 Screenshot |
14 | Add a screenshot here dumbass |
|||
15 |  |
|||
8181d1 | Tebby Dog | 2025-07-06 22:24:48 | 16 | |
17 | ## 🎯 Oh Hell Yeah, Features |
|||
18 | - Converts your average web article into a **Subway Surfers-screaming-TikTok-style video** |
|||
19 | - Rips text straight from URLs |
|||
20 | - Slaps it on top of fast-ass gameplay |
|||
21 | - Bonus points: **speech-to-text powered by Vosk API** |
|||
22 | - Built with **Flask + OpenCV + goose3 + Python + zero chill** |
|||
23 | ||||
24 | --- |
|||
25 | ||||
26 | ## 🐳 Running This Beast with Docker |
|||
27 | ||||
28 | **Step 1:** Pull the image, because we’re not building this crap from scratch: |
|||
29 | ```sh |
|||
30 | docker pull tebwritescode/subwaysurfers-text20:latest |
|||
31 | ``` |
|||
32 | ||||
33 | **Step 2:** Get the Vosk brain model and unzip it: |
|||
34 | ```sh |
|||
35 | wget https://alphacephei.com/vosk/models/vosk-model-en-us-0.22.zip |
|||
36 | unzip vosk-model-en-us-0.22.zip -d ./ |
|||
37 | rm vosk-model-en-us-0.22.zip |
|||
38 | ``` |
|||
39 | ||||
40 | **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. |
|||
41 | ||||
42 | **Step 4:** Let’s ride: |
|||
43 | ```sh |
|||
44 | docker run -d --name subwaysurfers-text \ |
|||
45 | -v ./subwaysurfers/sources:/app/sources \ |
|||
46 | -v ./subwaysurfers/vosk-model-en-us-0.22:/app/static/vosk-model-en-us-0.22 \ |
|||
47 | -p 5000:5000 \ |
|||
48 | tebwritescode/subwaysurfers-text20:latest |
|||
49 | ``` |
|||
50 | ||||
51 | **Step 5:** Fire up your browser and hit: |
|||
52 | ``` |
|||
53 | http://localhost:5000 |
|||
54 | ``` |
|||
55 | ||||
56 | Get ready to weep tears of productivity as your article runs across a CGI train track. |
|||
57 | ||||
58 | --- |
|||
59 | ||||
229f24 | Tebby Dog | 2025-07-06 22:28:20 | 60 | ## 🛠 Using Docker Compose Like a True King 👑 |
8181d1 | Tebby Dog | 2025-07-06 22:24:48 | 61 | Replace `<HOSTPATH>` with the full path to where your god-tier video and Vosk model live. |
62 | ||||
63 | ```yaml |
|||
64 | services: |
|||
65 | subwaysurfers-text: |
|||
66 | image: tebwritescode/subwaysurfers-text20:latest |
|||
67 | volumes: |
|||
68 | - <HOSTPATH>/sources:/app/sources |
|||
69 | - <HOSTPATH>/vosk-model-en-us-0.22:/app/static/vosk-model-en-us-0.22 |
|||
70 | ports: |
|||
71 | - "5000:5000" |
|||
72 | ``` |
|||
73 | ||||
74 | Start it up: |
|||
75 | ```sh |
|||
76 | docker-compose up -d |
|||
77 | ``` |
|||
78 | ||||
79 | 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. 🎲 |
|||
80 | ||||
81 | --- |
|||
82 | ||||
83 | ## 🐍 The Dockerfile Straight-Up Breakdown |
|||
84 | ||||
85 | - Uses a slimmed-down official Python image |
|||
86 | - Installs all the nasty dependencies (yes, even ffmpeg and build tools) |
|||
87 | - Brings in Homebrew in case you're feeling fancy |
|||
88 | - Copies the app, installs Python and brew packages |
|||
89 | - Runs Flask like it means it |
|||
90 | - Your container, your rules |
|||
91 | ||||
92 | --- |
|||
93 | ||||
94 | ## 🔮 Shit I Still Wanna Add |
|||
95 | - Drop-down to select different AI voices (because not every AI wants to sound like Siri on Ambien) |
|||
96 | - NVIDIA GPU acceleration (because some of you have beefy rigs) |
|||
97 | - Fix that annoying subtitle-stuck bug nobody asked for |
|||
98 | ||||
99 | --- |
|||
100 | ||||
101 | ## 🧠 Want to Run It Without Docker? |
|||
102 | You rebel. Here’s the repo for bare-metal installs: |
|||
103 | 👉 https://github.com/tebwritescode/subwaysurfers-text-multi |
|||
104 | ||||
105 | --- |
|||
106 | ||||
107 | ## 🏆 Big-Ass Credit Section |
|||
108 | 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. |
|||
109 | ||||
110 | --- |
|||
111 | ||||
112 | ## ⚠️ Final Note from His Royal Freshness™ |
|||
113 | 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. |
|||
114 | ||||
115 | Enjoy learning like a hyper-caffeinated teenager on TikTok 🚀 |