We are about to switch to a new forum software. Until then we have removed the registration on this forum.
Hey! I've been working on an ongoing project for my robotics team in which we use Simple-OpenNI and the Processing version of OpenCV to track rectangles, and I've tackled all the problems so far and am down to one issue. Streaming the processed video to the robot operator. It's too late for me to switch languages now (to something like C# or Python, with friendlier networking), so I'm hoping that Processing (or some Java library) can help. The sketch communicates with a National Instruments cRIO II via an Arduino via i2C (it's a little roundabout, but it works). The "typical" way to stream video to the driver is by sending an MJPEG stream (generated by an IP camera) through port 80 using TCP. Optimally, this would be the best way to send the Kinect video through. I've found that it's easy enough to render JPEG images at a fast rate, but am making no progress on sending them anywhere as an MJPEG stream (actually, I'm not even sure if an MJPEG stream isn't just a fast series of plain old JPEG images being sent via TCP). Is there any information anywhere that I could read to give me a clue of where to start? I've researched all over the place to no avail. Alternatively, any streaming protocol which could stream video/images to a web browser in real-time over a hi-speed network would work. Thanks! I'll keep researching...
Answers
Both Xuggler and VLCJ have video streaming capabilities. I don't have the opportunity to test these Java libraries out, but they might help you.
Here are some links to start you off:
Xuggler:
javacodegeeks.com/2011/02/introduction-xuggler-video-manipulation.html
stackoverflow.com/questions/13643648/xuggler-and-playing-from-live-stream
VLCJ:
stackoverflow.com/questions/10751718/live-video-streaming-over-http-using-vlcj
stackoverflow.com/questions/11343523/video-streaming-in-vlcj/11347526#11347526
Xuggler will probably be a more reliable source, as it is being actively developed. Just search around (you'll find the docs on their homepage :-B). There are a lot of people asking relevant questions.
-- MenteCode