pal251 is on the right idea, wire the camera into a NVR with HDMI output, split the output to 4 TV's and be done with it... If latency is unacceptable you probably should be looking at HD-SDI cameras vs IP cameras.
Yeah, I agree, that is the right approach.
Last I checked cameras dont have Gigabit ethernet or near the resources to give you anywhere near close to 20 JPEG images a second... your lucky to get 1FPS
Yes, no camera will do that, but a PC can, decoding h264 video. Since
Blue Iris' recent web server update you can actually go beyond 20 FPS pretty easily if you pull an mjpeg stream from a 1080p camera. But at this point you are using more than 20 Mbps of bandwidth which is absurdly high for something like a Smart TV. It probably couldn't decode the frames even as fast as its WiFi would pull them in.
That's why some of the methods shown in my prior post here use direct access to the IP Cameras to avoid using anything acting as a go-between/middleman, for better FPS rates.
...
Here is an example that's at 1280x720 default image size
...
Don
For each image request to your server, about 700 ms of the request time is "waiting" for the response from the server to begin, followed by about 400ms of actual transfer time.
So I assume your example is having your web server proxy each image request to the camera. i.e.
1. Browser requests image from server.
2. Server requests image from camera.
3. Server receives image from camera.
4. Browser receives image from server.
Contrary to what you said about FPS rates, I bet you could more than double the frame rate for a remote user like myself if you were to have the server sit there and continually pull images from the camera as quickly as possible, always caching the latest one in memory. Then when a remote browser requests the camera image, you just send the frame you have cached in memory, and this will more or less eliminate the 700 ms waiting time so each frame takes only 400 ms to load instead of 1100ms. It also makes the server code a lot more complicated, but it results in a better user experience and makes the system more scalable as the camera's web server doesn't get hammered harder when there are multiple viewers.