While PS3Vision was more about trying to get things running on the PS3, this will cover the basics of getting SwisTrack running on your system, as well as my attempts at getting streaming to this thing.
SwisTrack is an open source tool for tracking anything that moves in a live video feed or a recorded one. In terms of input, you are bound by what can be accomplished with OpenCV, which in turn depends on the libraries available to your operating system.
At this point improbable. Every build of opencv tested was unable to grab frames from an MJPEG stream with cvCreateFileCapture(). This was tested on very basic test programs for opencv, as well as an input component for swistrack of my own making. It is essentially the same as the USB camera input code, except instead of setting the camera initially to capture, it creates the file capture. Accessing each frame is done via the same function regardless of the capture medium.
Three choices, Mac, Windows, or Linux. From the point of view of OpenCV, three different sets of libraries are used between the OS'es. On Mac OS X, the native Quicktime, cocoa, and image decompression/rendering libraries are used in leu of the regular Unix type stuff that OpenCV would use if you were to, say, compile on linux, where it would use libjpeg, ffmpeg, gtk, etc. The gui is actually wxWidgets based, which abstracts a lot of the problems usually associated with cross platform gui programming. On windows, the graphics handling is done with the Windows native libraries, like DirectShow.
One crucial problem with building on windows for this project is the fact that you MUST have visual studio 2005 or greater, which can cost a bundle unless you are a student and can get it for free. If you already have a copy of this lying around though, I highly recommend using this for building SwisTrack (assuming you don't just use the binary installer, but if you want to try and roll your own MJPEG stream access component like me, you need Visual Studio). The build process is outlined in the SwisTrack manual, and if followed to the T, you will get an essentially clean build (build instructions [http://en.wikibooks.org/wiki/SwisTrack/Developers/Setting_up_a_development_environment/Windows|here]).
As for building on the Mac, it is the exact same as building on linux, except for two small details: 1) don't use xcode to build SwisTrack. I was completely unable to get it to build with xcode, mostly due to some really annoying library and include path stuff. The best way is to use the make file in swistrack/code/Make/Makefile. 2) unzip the app skeleton in the xcode folder and throw the output of your make (found in swistrack/SwisTrackEnvironment.
Finally, the build for linux goes exactly as stated in the build instructions. Some snags I hit were mostly versioning issues. If you have a newer version of ffmpeg (has swscale, doesn't have img_convert), make sure you get the 1.1pre1 version of opencv, otherwise it will try to use img_convert and fail miserably.
As of right now: none. cvCreateFileCapture(filename_or_url) is supposed to be able to take the url of an mjpeg stream (like the one created by uvc-streamer) and create a capture out of it, but every build on every platform has been unable.