Difference between revisions of "AVLD - Another Video Loopback Device"
Line 11: | Line 11: | ||
I could not test beyond the screen and the specific camera/sensor capabilities :) | I could not test beyond the screen and the specific camera/sensor capabilities :) | ||
+ | |||
+ | |||
+ | == avld-0.13 VIDIOCGWIN null framesize patch == | ||
+ | |||
+ | Opencv v4l capture initialization method was receiving a framesize of 0x0 when it was run before watching once the stream with mplayer which is using an alternative initialization method. | ||
+ | |||
+ | --- video_device.c.orig 2008-09-14 21:28:41.000000000 +0200 | ||
+ | +++ video_device.c 2008-09-14 22:00:35.000000000 +0200 | ||
+ | @@ -212,7 +212,10 @@ | ||
+ | #ifdef DEBUG | ||
+ | printk (KERNEL_PREFIX "VIDIOCGWIN\n"); | ||
+ | #endif | ||
+ | - | ||
+ | + | ||
+ | + capture_win.width=width; | ||
+ | + capture_win.height=height; | ||
+ | + | ||
+ | if(copy_to_user((void*)arg, &capture_win, sizeof(capture_win))) | ||
+ | return -EFAULT; | ||
+ | return 0; | ||
Revision as of 12:16, 14 September 2008
AVLD is a video loopback device for GNU-Linux, written by Pierre Parent and licensed under GPL.
With AVLD you can use Elphel cameras for image acquisition in v4l compatible applications, video conferencing, etc
Video is playing smoothly on a 2.4Ghz dual core notebook at 25fps in 1440x896,
and CPU usage is 'only' 20-25% per core
I could not test beyond the screen and the specific camera/sensor capabilities :)
avld-0.13 VIDIOCGWIN null framesize patch
Opencv v4l capture initialization method was receiving a framesize of 0x0 when it was run before watching once the stream with mplayer which is using an alternative initialization method.
--- video_device.c.orig 2008-09-14 21:28:41.000000000 +0200 +++ video_device.c 2008-09-14 22:00:35.000000000 +0200 @@ -212,7 +212,10 @@ #ifdef DEBUG printk (KERNEL_PREFIX "VIDIOCGWIN\n"); #endif - + + capture_win.width=width; + capture_win.height=height; + if(copy_to_user((void*)arg, &capture_win, sizeof(capture_win))) return -EFAULT; return 0;
Accessing Elphel camera streams through a v4l device (eg: /dev/video0)
After loading the AVLD module:
modprobe avld width=1440 height=896 fps=0
You just have to feed the video device:
mencoder rtsp://192.168.0.9 -nosound -ovc raw -vf format=bgr24 -of rawvideo -o /dev/video0
(or /dev/video1 if you had already another video device driver loaded before)
And you can play the stream for testing:
mplayer tv:// -tv driver=v4l:device=/dev/video0:outfmt=rgb24 -cache 8192 -vo xv
You can change the device parameters when module is already loaded with:
echo "width=800 height=600 fps=0" > /dev/video0
AVLD homepage: http://allonlinux.free.fr/Projets/AVLD/