- AVLD -
Another Video Loopback Device
AVLD is a V4L kernel driver created to simulate a physical recording video device like a webcam or a video capture card.
The following non-exhaustive list provides some uses that can be done of AVLD :
- Send a video via a video conferencing software like Skype, Gmail or Adobe Flash
- Capture your screen in realtime with a specific software and share it via a video conferencing software like Skype, Gmail or Adobe Flash
- Use it with an image processing (or other) software which has been designed to use a video device as input
In order to use it, you just have to send the video stream on it by using, for instance, mplayer or ffmpeg. That's all you have to do !!
You can download AVLD here : avld_0.1.4
Changelog is available here : Changelog
First of all, you need to install headers of your running kernel to compile AVLD.
Log in as root and type
make && make install
LOAD the AVLD module as root :
!!! Be careful that the default video size is 340x240 !!!
You can specify the video size and the framerate of the input video like that :
modprobe avld width=640 height=480 fps=25
- fps = 0 : no framerate. Input video stream is read by device as fast as it is written to the device
- fps > 0 : the framerate is set to the given value
- fps < 0 : framerate is synchonized on the reader application
WRITE on the device :
mencoder my_movie.*** -nosound -ovc raw -vf format=bgr24 -of rawvideo -o /dev/video0
( or /dev/video1 if you have loaded another video device before AVLD... )
Note : be careful to send to the dummy video device a video with the exact same size than this used when you loaded the module. You can also scale the video size with mencoder.
USE the Videoconferencing software of your choice (amsn, gnomemeeting, Skype ...) or mplayer if you want
to check that it works on your computer :
mplayer tv:// -tv "driver=v4l:device=/dev/video0:noaudio:outfmt=rgb24"
Once you have loaded the module, if you want to CHANGE the video paremeters (width/height/framerate), it is now possible by sending the entire following line to the device :
"width=[new_video_width] height=[new_video_height"] fps=[new_video_fps]"
echo "width=800 height=600 fps=25" > /dev/video0