Thanks! We're using binary websockets to route the actual video frames. There's also an instance of haproxy sitting in front of everything. But our server is still choking every one in a while, heh.
Are you using ffmpeg? Gstreamer? We are working on a project to put nocturnal streaming robots in a museum in London and we've been trying out various toolchains to get low-latency live streams to clients, each with lots of pros and cons. Would be good to talk if you could. Ping us on twitter @theworkers
Yup, ffmpeg to a node.js script that is rebroadcasting over websockets. We tried 4-5 live streaming services and could not find one that had latency lower than 10-15 seconds (if not more).
Just curious, did you ever try MJPEG to node.js? I was trying to build something similar with really low latency streaming. Came to the same conclusions about the available services.
Got my latency down to < 1s (same city) with an IP cam with built-in MJPEG stream, served by node.js as an ever updating static jpg. On the client side I then used a simple requestAnimationFrame-script to update the image source as often as the client would allow.
This was actually the solution I almost went with, but found I could achieve a higher frame rate and lower bandwidth usage with jsmpeg.
We're located in Flint, Michigan and using a DigitalOcean box hosted in NYC. I haven't run any latency tests, but I'd ballpark the number to be in the 250-500ms range. I was blown away that it worked as well as it did.