Hi, so over the build season our team developed a vision system that uses a raspberry pi to grab frames from two cameras and send both frames to a local HTTP MJPEG Server Thread. Each camera image is sent a different port on the server, so one image is sent to address ‘127.0.0.1:9090’ and another to ‘127.0.0.1:9090’. On our control PC, we have another python script running a Tkinter GUI, which grabs frames from each url, and displays them to a user.
The code for the server can be found here:
What we didn’t anticipate, was the latency faced when streaming two cameras simultaneously while controlling the robot, which is why we wanted to add a UDP send thread that will send a key from the control PC to the rpi, indicating which camera feed should be displayed based on a user input. When reviewing the rules, I found:
I think that port 80 is meant for an Axis/IP camera and not the RIO itself (as that’s where the Silverlight interface is), but the table is a bit vague. I think you should be fine running a camera stream from a Pi on that port, but I’m not sure.
Yup. That’s the purpose of those ports.
It appears that it’s fine to put a MJPEG stream there.