Home of Blushies & friends (づ。◕‿‿◕。)づ | Read the adventures of cute Blushies | Community projects (Twitch chat bots / tools / mini games etc)
Twitch plays arcade bot v2
Home » Work In Progress » Remote browser play

Remote browser play

Based on my older “Twitch plays arcade bot v2” but renamed to “Remote browser play”. The rewritten version can be self hosted and how it works is that the host captures a window for the client(s) to play on.

The idea is to play games (2+ player games like arcade fighting / beat em ups  or any game that support multiple players) with viewers with less delay than watching the Twitch stream by using a browser while the viewers can watch the game on the broadcasters channel.


  • game pad support
  • configure captured fps (set max captured window fps)
  • broadcaster to client fps (sets the max fps the hosts updates to clients)
  • scaling (scale & resize the captured window before sending it to clients)
  • enable sharpening (sharpens the finalized frames before sending it to clients)
  • enable captured window resize (when enabled it will capture the captured window 1:1 else you can resize to any size larger than 1)
  • enable max compression (sends the finalized frames as small as possible at costs of more CPU processing)
  • enable stream mode (finalized frames are send as they are captured)
  • enable broadcast (start streaming captured window to clients)
  • enable bandwidth optimization (skips sending frames that are the same previously)
  • enable client ready state (requires clients to send back a ping to tell the host they have processed the data before sending a new update)
  • enable packets mode (packs multiple finalized frames into one larger packet before sending it to clients to replays them in order at corrected time frame but this comes with a delay depending how long it’s set at)
  • finalized frame quality (quality of the captured window, 1 is lowest but also smallest data where 100 is 1:1 captured window but also largest data per finalized frame)
  • limit data to send (each finalized frames that is higher in size will not be send to clients, this means stuttering when there are many frames bigger than the set max size)
  • and other features not really worth mentioning yet I as work on implementing them first


Demo videos

Multiple clients test (locally)

Config page to switch captured widow to broadcast (Not had time to write a proper one)

PSP gameplay

Changes only in previous + current frame #1

Changes only in previous + current frame #2

FPS control
5 fps

15 fps

30 fps

60 fps

Ultra low quality + resized to 50% captured window

Medium quality + resized to 50% captured window

Bandwidth optimization on (total sent over ~6min)

Bandwidth optimization off (total sent over ~6min)


Herrow, I'm BlushyFace and this is the place where you can read about the adventures of silly Blushies & other content I've made related to my Twitch channel community.

Notify of

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Inline Feedbacks
View all comments