some results from playing around with the code from tmbinc

:
hardware: a raspberry pi 2 with a 5 inch hdmi display from waveshare
http://www.waveshare.com/wiki/5inch_HDMI_LCDraspberry image: 2015-05-05-raspbian-wheezy.img
first install
patched uvclib to get the raw video stream from a Flir Ex
https://www.eevblog.com/forum/testgear/flir-ex-realtime-raw-radiometric-data-streaming-via-uvc/msg729604/#msg729604https://www.eevblog.com/forum/testgear/flir-ex-realtime-raw-radiometric-data-streaming-via-uvc/msg623251/#msg623251
I changed the source from tmbinc for a 32 bit framebuffer...
https://www.eevblog.com/forum/testgear/flir-ex-realtime-raw-radiometric-data-streaming-via-uvc/msg736344/#msg736344...for my display with 800x480 in
16 Bit depth (RGB565) and added some comments for using the framebuffer.
For better viewing I rescaled the video to 640x480.
source: flirfox2x.c
compile with
/usr/bin/cc -o flirfox2x ./flirfox2x.c -luvc -lm
using
$ sudo ./flirfox2x out.raw 20000
UVC initialized
Device found
Device opened
DEVICE CONFIGURATION (09cb:1007/[none]) ---
Status: idle
VideoControl:
bcdUVC: 0x0100
VideoStreaming(1):
bEndpointAddress: 130
Formats:
UncompressedFormat(1)
bits per pixel: 16
GUID: 5955593200001000800000aa00389b71 (YUY2)
default frame: 1
aspect ratio: 0x0
interlace flags: 00
copy protect: 00
FrameDescriptor(1)
capabilities: 03
size: 320x240
bit rate: 912384-912384
max frame size: 153600
default interval: 1/3
interval[0]: 1/15
interval[1]: 1/7
interval[2]: 1/3
END DEVICE CONFIGURATION
bmHint: 0000
bFormatIndex: 1
bFrameIndex: 1
dwFrameInterval: 666666
wKeyFrameRate: 0
wPFrameRate: 0
wCompQuality: 0
wCompWindowSize: 0
wDelay: 1
dwMaxVideoFrameSize: 153600
dwMaxPayloadTransferSize: 157696
bInterfaceNumber: 1
Streaming...
[0b397000] got frame 1442439612:475769, 153600 bytes, [12419..14340 rms 12865.158203 rmax 143]
[0b397000] got frame 1442439612:564221, 153600 bytes, [12415..14340 rms 12864.794922 rmax 284]
[0b397000] got frame 1442439612:666238, 153600 bytes, [12416..14339 rms 12864.424805 rmax 424]
[0b397000] got frame 1442439612:764188, 153600 bytes, [12417..14342 rms 12864.861328 rmax 563]
[0b397000] got frame 1442439612:866825, 153600 bytes, [12417..14339 rms 12864.305664 rmax 700]
you can clean your screen from frame buffer output with
xrefresh -d :0.0

next step is writing the video to a
V4L2 loopback devices ( /dev/video0 )https://github.com/umlaeute/v4l2loopbackThe installation of v4l2loopback on a raspberry 2 with 2015-05-05-raspbian-wheezy.img was tricky, because there are no sources included for building kernel modules.
(no /lib/modules/$(uname -r)/build )
All downloads to get the kernel sources for 3.18.7-v7+ fails

I found here a working solution with roll back from 3.18.7-v7+ to the older kernel 3.18.0
https://github.com/umlaeute/v4l2loopback/issues/84sudo aptitude install -y linux-image-rpi2-rpfv linux-headers-rpi2-rpfv
echo -e "kernel=vmlinuz-3.18.0-trunk-rpi2\ninitramfs=initrd.img-3.18.0-trunk-rpi followkernel" | sudo tee -a /boot/config.txt
sudo reboot
the next steps for installing v4l2loopback are simple
$ uname -a
Linux raspberryLCD 3.18.0-trunk-rpi2 #1 SMP PREEMPT Debian 3.18.5-1~exp1+rpi19 (2015-08-08) armv7l GNU/Linux
$ git clone [url]https://github.com/umlaeute/v4l2loopback[/url]
$ cd v4l2loopback
$ make
Building v4l2-loopback driver...
make -C /lib/modules/`uname -r`/build M=/home/pi/v4l2loopback/v4l2loopback modules
make[1]: Entering directory '/usr/src/linux-headers-3.18.0-trunk-rpi2'
Makefile:10: *** mixed implicit and normal rules: deprecated syntax
CC [M] /home/pi/v4l2loopback/v4l2loopback/v4l2loopback.o
Building modules, stage 2.
MODPOST 1 modules
CC /home/pi/v4l2loopback/v4l2loopback/v4l2loopback.mod.o
LD [M] /home/pi/v4l2loopback/v4l2loopback/v4l2loopback.ko
make[1]: Leaving directory '/usr/src/linux-headers-3.18.0-trunk-rpi2'
$ sudo su
# make install
make -C /lib/modules/`uname -r`/build M=/home/pi/v4l2loopback/v4l2loopback modules_install
make[1]: Entering directory '/usr/src/linux-headers-3.18.0-trunk-rpi2'
Makefile:10: *** mixed implicit and normal rules: deprecated syntax
INSTALL /home/pi/v4l2loopback/v4l2loopback/v4l2loopback.ko
DEPMOD 3.18.0-trunk-rpi2
make[1]: Leaving directory '/usr/src/linux-headers-3.18.0-trunk-rpi2'
depmod -a `uname -r`
$ sudo modprobe v4l2loopback
$ lsmod
Module Size Used by
v4l2loopback 23372 0
...
source: flirfox-loop.c
compile
/usr/bin/cc -o flirfox-loop ./flirfox-loop.c -luvc -lm
I simple mixed tmbinc source with the v4l2loopback test.c file

source:
https://github.com/umlaeute/v4l2loopback/blob/master/examples/test.cusing
$ sudo ./flirfox-loop out.raw 20000
UVC initialized
Device found
Device opened
DEVICE CONFIGURATION (09cb:1007/[none]) ---
Status: idle
VideoControl:
bcdUVC: 0x0100
VideoStreaming(1):
bEndpointAddress: 130
Formats:
UncompressedFormat(1)
bits per pixel: 16
GUID: 5955593200001000800000aa00389b71 (YUY2)
default frame: 1
aspect ratio: 0x0
interlace flags: 00
copy protect: 00
FrameDescriptor(1)
capabilities: 03
size: 320x240
bit rate: 912384-912384
max frame size: 153600
default interval: 1/3
interval[0]: 1/15
interval[1]: 1/7
interval[2]: 1/3
END DEVICE CONFIGURATION
bmHint: 0000
bFormatIndex: 1
bFrameIndex: 1
dwFrameInterval: 666666
wKeyFrameRate: 0
wPFrameRate: 0
wCompQuality: 0
wCompWindowSize: 0
wDelay: 1
dwMaxVideoFrameSize: 153600
dwMaxPayloadTransferSize: 157696
bInterfaceNumber: 1
using output device: /dev/video0
vid_format->type =2
vid_format->fmt.pix.width =320
vid_format->fmt.pix.height =240
vid_format->fmt.pix.pixelformat =1497715271
vid_format->fmt.pix.sizeimage =76800
vid_format->fmt.pix.field =1
vid_format->fmt.pix.bytesperline=320
vid_format->fmt.pix.colorspace =8
Streaming...
[0b34c000] got frame 1442439057:790436, 153600 bytes, [12283..12491 rms 12423.203125 rmax 124]
[0b34c000] got frame 1442439057:887940, 153600 bytes, [12284..12485 rms 12422.550781 rmax 247]
[0b34c000] got frame 1442439057:988181, 153600 bytes, [12280..12489 rms 12420.328125 rmax 369]
[0b34c000] got frame 1442439058:88068, 153600 bytes, [12279..12486 rms 12418.430664 rmax 490]
[0b34c000] got frame 1442439058:187958, 153600 bytes, [12281..12484 rms 12418.650391 rmax 609]
[0b34c000] got frame 1442439058:297959, 153600 bytes, [12281..12481 rms 12419.558594 rmax 727]

You can start flirfox-loop in the background (as sample a screen session) and log out.
The program writes the screen video to /dev/video0 device.
From this point you can use all video players or
webcam programs to pass the video from /dev/video0 to a html page etc...
As sample screenshot from a
ssh session with x11 forwarding the mplayer$ ssh -X pi@192.168.1.70
$ mplayer tv:// -tv driver=v4l2:device=/dev/video0
MPlayer svn r34540 (Raspbian), built with gcc-4.6 (C) 2000-2012 MPlayer Team
mplayer: could not connect to socket
mplayer: No such file or directory
Failed to open LIRC support. You will not be able to use your remote control.
Playing tv://.
TV file format detected.
Selected driver: v4l2
name: Video 4 Linux 2 input
author: Martin Olschewski <olschewski@zpr.uni-koeln.de>
comment: first try, more to come ;-)
v4l2: your device driver does not support VIDIOC_G_STD ioctl, VIDIOC_G_PARM was used instead.
Selected device: Dummy video device (0x0000)
Capabilities: video capture read/write streaming
supported norms:
inputs: 0 = loopback;
Current input: 0
Current format: GREY
