Ceci est une ancienne révision du document !


Webcam Virtuelle

Il peut s'avérer utile de pouvoir utiliser une webcam virtuelle sur son Instant Messenger préféré (amsn…) afin de pouvoir faire visionner la dernière vidéo familliale à un proche sans avoir besoin de filmer un écran avec sa webcam.

Cet article traite donc de la façon dont il faut procéder afin de créer une fausse webcam sur son système et de pouvoir écrire une vidéo dessus qui sera retranscrit comme si on visionnait ce qu'une webcam peut filmer.

Tout d'abord je dirais un grand merci au nom de toute la communauté d'ubuntu à ALLONLINUX qui a créé le driver permettant ceci. l'article original se trouvant ici : http://allonlinux.free.fr/Projets/AVLD/

Pour installer le pilote, nous allons avoir besoin d'installer quelques packages contenant des outils ou des données précieuses. Installons les packages nécessaires comme suit :

sudo apt-get install build-essential linux-headers-`uname -r` mencoder

Ensuite, téléchargeons le driver et installons le :

wget http://allonlinux.free.fr/Projets/AVLD/src/avld_0.1.3.tar.bz2
tar -jxf avld_0.1.3.tar.bz2
mv avld* /opt
cd /opt/avld*
make && sudo make install

Maintenant que le driver est installé, il nous suffit de le charger et d'automatiser le chargement automatique au démarrage :

sudo modprobe avld
sudo echo "avld">>/etc/modules

Il faut au préalable connaître la résolution de votre vidéo (information que l'on peut aisément obtenir en allant en mode graphique dans les propriétés du fichier vidéo qui nous intèresse), ici on dira que notre vidéo est en 800x600.
On rentre donc la commande suivante afin de mettre notre webcam virtuelle à la bonne taille :

echo "width=800 height=600 fps=25" > /dev/video0

(ou /dev/video1 si vous avez déjà charger un autre périphérique vidéo auparavant comme une webcam ou un tuner…) Maintenant pour écrire la vidéo sur le périphérique virtuel il suffit d'utiliser la commande suivante :

mencoder my_movie.*** -nosound -ovc raw -vf format=bgr24 -of rawvideo -o /dev/video0

(même remarque concernant /dev/video0… )
Pour visualiser le résultat, vous pouvez soit aller dans votre Instant Messenger préféré et voir ce que ça donne sur l'aperçut webcam soit utiliser la commande suivante :

mplayer tv:// -tv "driver=v4l:device=/dev/video0:noaudio:outfmt=rgb24"

(même remarque concernant /dev/video0… )

Alalala!!!…Sacré Skype!! il fait jamais les choses comme les autres…heureusement, il y a une manip pour contourner ce plantage de Skype avec l'utilisation de AVLD… Mettons un peu la main à la pâte… Retournons dans notre dossier où se trouve notre driver :

cd /opt/avld*

Maintenant éditons le fichier video_device.c :

sudo gedit video_device.c

cherchons le passage suivant : <quote>static struct file_operations v4l_fops = { owner: THIS_MODULE, open: v4l_open, release: v4l_close, read: v4l_read, mmap: v4l_mmap, write: v4l_write, ioctl: v4l_ioctl, llseek: no_llseek, };</quote> et ajoutons y la ligne "compat_ioctl: v4l_compat_ioctl32,", ce qui nous donne : <quote>static struct file_operations v4l_fops = { owner: THIS_MODULE, open: v4l_open, release: v4l_close, read: v4l_read, mmap: v4l_mmap, write: v4l_write, ioctl: v4l_ioctl, compat_ioctl: v4l_compat_ioctl32, llseek: no_llseek, };</quote> maintenant nous pouvons réinstaller notre driver grâce à ces commandes :

make clean\\
make\\
sudo make install<code>
Enfin, on charge le driver un peu différemment et de façon définitive (concernant le démarrage) :
<code>modprobe avld palette=1

puis, on édite le fichier /etc/modules

sudo gedit /etc/modules

et si on a déjà rentré avld dedans on rajoute palette=1 juste à la suite pour que tout soit correcte ; ce qui nous donne donc la ligne suivant apparaissant dans notre fichier : <quote>avld palette=1</quote>

Et maintenant si on veut envoyer une vidéo sur notre webcam virtuelle pour skype on tape cette commande avec la bonne direction pour le fichier vidéo : mencoder my_movie.* -nosound -ovc raw -vf format=uyvy -of rawvideo -o /dev/video0 Et si c'est sur amsn ou autre : mencoder my_movie.* -nosound -ovc raw -vf format=bgr24 -of rawvideo -o /dev/video0 Sans oublier, avant cela, de donner la bonne taille de la vidéo comme dans la section utilisation!

Cet article est terminé ; amusez vous bien.

  • webcamvirtuelle.1214487379.txt.gz
  • Dernière modification: Le 18/04/2011, 14:53
  • (modification externe)