1 connect usb camera to linux system
2 ls /dev/video*
3 in server side: cvlc v4l2:///dev/video4 --sout '#transcode{vcodec=mjpg}:std{access=http,mux=mpjpeg,dst=127.0.0.1:13000}'
4 in client side: vlc http://127.0.0.1:13000
list camera devices
v4l2-ctl --list-devices
list format of camera
ffmpeg -f v4l2 -list_formats all -i /dev/video0
redirect usb camera from thin client to guest os
1. in guest os
insmod v4l2loopback.ko
assume v4l2loopback create /dev/video6 as a capture device.
2 in thin client
cvlc v4l2:///dev/video4 --sout '#transcode{vcodec=h264,vb=800,acodec=mp4a}:rtp{sdp=rtsp://127.0.0.1:13000/live.ts}'
assume usb camera capture device is /dev/video4
3 in guest os
ffmpeg -i rtsp://127.0.0.1:13000/live.ts -f v4l2 /dev/video6
guest os receive the data from thin client, send it to loopback device /dev/video6
4 in guest
vlc v4l2:///dev/video6
using vlc show the contents of /dev/video6