gitwtfhub

wtf is pocket-youtube?

pocket-stack/pocket-youtube — explained in plain English

Analysis updated 2026-05-18

13TypeScriptAudience · developerComplexity · 5/5LicenseSetup · hard

TL;DR

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.

Mindmap

mindmap
  root((pocket-youtube))
    What it does
      Streams YouTube to PSP
      USB cable connection
      Mac handles conversion
    Tech stack
      TypeScript
      Bun runtime
      ffmpeg and yt-dlp
      PocketJS framework
    Use cases
      Watch videos on PSP
      Study retro hardware bridging
      Build on PocketJS
    Audience
      Retro hardware hobbyists
      Developers

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Why would anyone build with this?

REASON 1

Watch YouTube videos, including search and playback controls, on a real PSP handheld using only a USB cable.

REASON 2

Study how a modern web service can be bridged to decades old hardware using a host companion process.

REASON 3

Explore the PocketJS framework as a base for building other apps that run on PSP hardware.

What's in the stack?

TypeScriptBunffmpegyt-dlp

How it stacks up

pocket-stack/pocket-youtubeabhi-arya1/riffandersondanieln/hexllama
Stars131313
LanguageTypeScriptTypeScriptTypeScript
Setup difficultyhardhardeasy
Complexity5/54/52/5
Audiencedeveloperdevelopervibe coder

Figures from each repo's GitHub metadata at analysis time.

How do you spin it up?

Difficulty · hard Time to first run · 1h+

Requires a real PSP with custom firmware and PSPLINK, plus a Mac with several command line tools installed.

MIT license: use freely for any purpose, including commercial use, as long as you keep the copyright notice.

Wtf does this do

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.

Yoink these prompts

Prompt 1
Walk me through the requirements and quick start steps to run Pocket YouTube on a real PSP.
Prompt 2
Explain how the Mac companion service and the PSP communicate using the ring buffer file format.
Prompt 3
How does Pocket YouTube convert YouTube video into something a PSP from 2004 can play?
Prompt 4
Show me how to run the test suite and simulated device journeys without a physical PSP.

Frequently asked questions

wtf is pocket-youtube?

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.

What language is pocket-youtube written in?

Mainly TypeScript. The stack also includes TypeScript, Bun, ffmpeg.

What license does pocket-youtube use?

MIT license: use freely for any purpose, including commercial use, as long as you keep the copyright notice.

How hard is pocket-youtube to set up?

Setup difficulty is rated hard, with roughly 1h+ to a first successful run.

Who is pocket-youtube for?

Mainly developer.

View the repo → Decode another repo

This repo across BitVibe Labs

Don't trust strangers blindly. Verify against the repo.