This worked really well with a Pi ZeroW
and a Logitech C615 usb webcam.
YUY2 is full bandwidth video and slow to travel over USB, if your USB is also being used for networking.. like with a USB to Ethernet port, then bandwidth available is even smaller.
Motion JPEG that is preprocessed by the camera and is rendered into a smaller bytestream by the webcam and then sent to the Pi ZeroW over USB 2.0 and its much faster.. practically realtime.. although the client used to watch the video can introduce delay. Pixel Desktop says total workload of the entire operating system is about 20-30% while its streaming.
1. Static Picture client worked
2. Stream in browser client on Firefox and Chrome worked (fast)
3. Java client launched from applet by browser (fast)
4. VideoLAN client (rendered the output smoothest and best, no artifacting, but cache delays the image a few seconds)
5. Control has some css or othr button image problems, and not all, but cruical UVC camera controls do work live.
The username/password protection feature did work.
The script for managing the startup also worked (but has a typo, and left out an important variable).
In [ /etc/init.d/mjpg_streamkick.sh ] startup string should be:
mjpg_streamer -i "input_uvc.so -d /dev/video0 -r 1280x720 -n -q 98" -o "output_http.so -p 8080 -c user
:pass -w /usr/local/www
there was a "typo" that joined and did not separate the -p 8080-c user into (two) like this: -p 8080 -c user
the path to the webserver content variable was left off and when it started the status said "disabled" and all the webserver pages were not accessible
this should be appended:
pass -w /usr/local/www"
I am typing this response from Tuesday, May 23, 2017 and I'm running Noobs with Pixel desktop version Jessie 4 from April 2017
The hardware being used is:
1. Pi ZeroW
2. MACBOOK USB Multi-function Lan Adapter model 5109 year 2012
3. OTG microUSB to USB2 Type A adapter with microUSB pass through charging power connector (to power PiZeroW)
4. Logitech C610 webcam with 1/4-20 quarter twenty tripod mount adapter
bottom line this may be old, but it does work.
it effectively splits the job of image rendering and streaming between the webcam and the pi and lets each focus on doing what it does best.