pocket-stack/pocket-youtube — explained in plain English
Analysis updated 2026-05-18
Watch YouTube videos, including search and playback controls, on a real PSP handheld using only a USB cable.
Study how a modern web service can be bridged to decades old hardware using a host companion process.
Explore the PocketJS framework as a base for building other apps that run on PSP hardware.
| pocket-stack/pocket-youtube | abhi-arya1/riff | andersondanieln/hexllama | |
|---|---|---|---|
| Stars | 13 | 13 | 13 |
| Language | TypeScript | TypeScript | TypeScript |
| Setup difficulty | hard | hard | easy |
| Complexity | 5/5 | 4/5 | 2/5 |
| Audience | developer | developer | vibe coder |
Figures from each repo's GitHub metadata at analysis time.
Requires a real PSP with custom firmware and PSPLINK, plus a Mac with several command line tools installed.
Pocket YouTube is a project that gets YouTube videos playing on a real Sony PSP handheld gaming device from 2004, using a USB cable instead of WiFi as the network connection. The PSP's original wireless radio is too old to reach modern websites, so the project splits the work between two machines. A Mac computer handles everything the old handheld cannot: finding videos, connecting to the internet securely, downloading them, and converting the video and audio into a format the PSP can actually decode. The PSP itself, running a framework called PocketJS, only handles showing the search screen, a list of results including titles in other scripts like Chinese, Japanese, or Korean, and playing back the video and audio smoothly at 60 times per second. The two machines communicate by writing files into a shared folder that the PSP mounts over USB as if it were a local drive, using a debugging tool called PSPLINK. Video frames get written into a single preallocated file that acts like a ring buffer, meaning the Mac keeps overwriting old data with new frames while the PSP continuously reads whatever is newest, discarding anything it catches mid-write. Pausing a video simply pauses the conversion process on the Mac side, and seeking to a different point restarts that process. To run it, you need a modified PSP with custom firmware and the PSPLINK debugging tool installed, plus a Mac with the Bun JavaScript runtime, the yt-dlp video downloading tool, and ffmpeg installed. The project includes a quick start script that builds the PSP application and starts the companion service on the Mac. This is a hobby engineering project aimed at retro hardware enthusiasts curious about squeezing modern video streaming onto twenty year old handheld hardware.
A project that streams YouTube video and audio to a real 2004 Sony PSP handheld over a USB cable, using a Mac companion app to handle all the modern internet work.
Mainly TypeScript. The stack also includes TypeScript, Bun, ffmpeg.
MIT license: use freely for any purpose, including commercial use, as long as you keep the copyright notice.
Setup difficulty is rated hard, with roughly 1h+ to a first successful run.
Mainly developer.
This repo across BitVibe Labs
Verify against the repo before relying on details.