I tracked down the bloat in sending compressed data to the PubSub. Compressing gives binary data. The binary data has to convert to Base64 to send through a JSON message. That bloats the payload by 30%.
What’s the API limits for https://api.twitch.tv/extensions/message/CHANNEL_ID?
Is it still 1 request per second and 6kb?
Before Base64, the data is under 5kb.
Is there a way to submit binary data through this endpoint?
I found another compression trick after some experiments.
I’m using RGB values with int arrays and compressing that.
I thought well I could combine RGB down to 24 bits and pack the data tighter by using ints to hold two partial colors. I.e.
1: RGB R
2: GB RG
3: B RGB
The idea is I’d be recovering the 30% by packing data into a more compact space.
The result is the compressed zip size doubled.
HUH???
So I went the other way. I separated each RGB in into red, green, blue array items.
The code is less complex and the size dropped to 5kb.
Well… that works. Indirectly achieved the desired result.