Hi cynfab,
A Happy New Year from non snowy Germany

I don't need motion detection, just the side by side display.
I tested last days some streaming tools for V4L2.
A good entry point are this samples:
https://github.com/umlaeute/v4l2loopback/wikiFor the side by side display you can use the html template from my last post.
Here are my raw notes. All samples for our mjpeg stream /dev/video2:
MJPG-Streamer works great on Raspberry Pi and requires only 2% of CPU, because this tool only move the jpeg image without decoding/encoding.
installation guide
http://www.steinvoorte.nl/mjpgstreamer/index.php?page=2install
$ sudo apt-get install libjpeg8-dev imagemagick subversion libv4l-dev
$ ls /usr/include/linux/videodev*
/usr/include/linux/videodev2.h
$ sudo ln -s /usr/include/linux/videodev2.h /usr/include/linux/videodev.h
$ wget http://sourceforge.net/code-snapshots/svn/m/mj/mjpg-streamer/code/mjpg-streamer-code-182.zip
$ unzip mjpg-streamer-code-182.zip
$ cd mjpg-streamer-code-182/mjpg-streamer
// select required plugin (i.e. input_file.so)
$ make USE_LIBV4L2=true mjpg_streamer input_uvc.so output_http.so
// install (note, that apache2 use /var/www )
$ sudo cp -R www /usr/local/www
$ sudo cp mjpg_streamer /usr/local/bin
$ sudo cp output_http.so input_uvc.so /usr/local/lib/
start (note LD_LIBRARY_PATH to input_uvc.so)
$ export LD_LIBRARY_PATH=/usr/local/lib
$ mjpg_streamer -i "input_uvc.so -d /dev/video2" -o "output_http.so -w /usr/local/www"
i: Using V4L2 device.: /dev/video2
i: Desired Resolution: 640 x 480
i: Frames Per Second.: 5
i: Format............: MJPEG
...
o: www-folder-path...: /usr/local/www/
o: HTTP TCP port.....: 8080
o: username:password.: disabled
o: commands..........: enabled
open the stream on a second Notebook
with GUI:
http://192.168.1.70:8080Stream only:
http://192.168.1.70:8080/?action=streamunfortunately mjpg_streamer only eats mjpeg and not RGB24 /dev/video3
fswebcam is a nice tool for create (single) images with timestamps etc. from a V4L2 device
http://manpages.ubuntu.com/manpages/lucid/man1/fswebcam.1.html$ sudo apt-get install fswebcam
$ fswebcam --device /dev/video3 1.jpg
--- Opening /dev/video3...
Trying source module v4l2...
/dev/video3 opened.
No input was specified, using the first.
Adjusting resolution from 384x288 to 160x120.
--- Capturing frame...
Captured frame in 0.00 seconds.
--- Processing captured image...
Writing JPEG image to '1.jpg'.
result:

Nice for a web site with a periodic refresh
<META HTTP-EQUIV="refresh" CONTENT="15">
more complex example:
fswebcam -D 3 -S 10 -F 10 -r 1280x720 -d /dev/video0 \ --font "/usr/share/fonts/truetype/ttf-dejavu/DejaVuSansMono-Bold.ttf:12" \ --title "Kamera 1" --subtitle "Hallo World" \ --timestamp "%d.%m.%Y %H:%M" --info "info" $FILE
avconv / ffmpegmy sample is for avconv
http://libav.org/avconv.htmlsudo apt-get install libav-tools
CPU consumption on raspberry pi (top)
VGA 640x480 150% CPU
gray 160x120 25% CPU
ffmpeg/avconv can't work as really server but you can stream to a device (my notebook is 192.168.1.42):
$ avconv -f video4linux2 -i /dev/video2 -vcodec mpeg2video -r 25 -pix_fmt yuv420p -me_method epzs -b 2600k -bt 256k -f rtp rtp://192.168.1.42:1234
avconv version 9.14-6:9.14-1rpi1rpi1, Copyright (c) 2000-2014 the Libav developers
built on Jul 22 2014 15:08:12 with gcc 4.6 (Debian 4.6.3-14+rpi1)
[video4linux2 @ 0xdc3740] Estimating duration from bitrate, this may be inaccurate
Input #0, video4linux2, from '/dev/video2':
Duration: N/A, start: 1451736986.645583, bitrate: N/A
Stream #0.0: Video: mjpeg, yuvj422p, 640x480, 0 kb/s, 1000k tbn, 5 tbc
Output #0, rtp, to 'rtp://192.168.1.42:1234':
Metadata:
encoder : Lavf54.20.4
Stream #0.0: Video: mpeg2video, yuv420p, 640x480, q=2-31, 2600 kb/s, 90k tbn, 25 tbc
Stream mapping:
Stream #0:0 -> #0:0 (mjpeg -> mpeg2video)
SDP:
v=0
o=- 0 0 IN IP4 127.0.0.1
s=No Name
c=IN IP4 192.168.1.42
t=0 0
a=tool:libavformat 54.20.4
m=video 1234 RTP/AVP 32
b=AS:2600
Press ctrl-c to stop encoding
frame= 437 fps= 24 q=4.2 size= 5613kB time=17.40 bitrate=2642.5kbits/s
on client 192.168.1.42 open the stream on localhost ;-)
vlc / open network
rtp://@:1234
With
VLC I received not good results.
$ cvlc v4l2:// :v4l2-dev=/dev/video2 :v4l2-width=640 :v4l2-height=480 --sout '#transcode{vcodec=mp4v,vb=128}:rtp{sdp=rtsp://:8554/live.ts}"' -I dummy
VLC media player 2.0.3 Twoflower (revision 2.0.2-93-g77aa89e)
[0x845c40] inhibit interface error: Failed to connect to the D-Bus session daemon: Unable to autolaunch a dbus-daemon without a $DISPLAY for X11
[0x845c40] main interface error: no suitable interface module
[0x74e00a28] main interface error: no suitable interface module
[0x6d98f0] main libvlc error: interface "globalhotkeys,none" initialization failed
[0x8495f0] dummy interface: using the dummy interface module...
[mpeg4 @ 0x730f80] removing common factors from framerate
[mjpeg @ 0x71ba20] error count: 65
[mjpeg @ 0x71ba20] error y=8 x=4
[mjpeg @ 0x71ba20] error count: 64
[mjpeg @ 0x71ba20] error y=10 x=29
[mjpeg @ 0x71ba20] mjpeg: unsupported coding type (c9)
[mjpeg @ 0x71ba20] error count: 66
[mjpeg @ 0x71ba20] error y=19 x=32
[mjpeg @ 0x71ba20] error count: 65
[mjpeg @ 0x71ba20] error y=20 x=31
[mjpeg @ 0x71ba20] only 8 bits/component accepted
[mpeg4 @ 0x7095a0] removing common factors from framerate
[mjpeg @ 0x71ba20] No JPEG data found in image
[mjpeg @ 0x71ba20] No JPEG data found in image
There is also the known feature/error
VLC is not supposed to be run as root. Sorry.