Si vous avez une caméra sur votre laptop, vous l'avez probablement recouverte d'un papier… soit parce que vous êtes parano soit parce que vous vivez nu·e soit parce que vous ne l'utilisez en fait jamais.

Le petit papier sur la caméra c'est bien. C'est facile. On ne voit pas ce qu'il se passe chez toi (éventuellement à ton insu). Par contre — petite digression — si tu es à peine parano, il faudrait surtout être sûr que ton micro ne fonctionne pas… mais c'est une autre paire de manches et un autre débat.

La caméra donc.

Pour une raison qui m'échappe je me suis rappelé l'existence de Chatroulette. Pour rappel, (re)lisez « À la recherche du chat sur la roulette ». Ça date de 2010 — huit ans déjà — et, je voulais savoir si le service était toujours là. En huit ans, on aurait pu le perdre et cela aurait été dommage. Vraiment. #sarcasm. C'était novateur à l'époque. Conceptuellement et techniquement. Pouvoir discuter par caméra interposée directement dans son navigateur était assez neuf. Et si l'interlocuteur est choisi aléatoirement, ça peut faire de belles rencontres.

Que nenni !

L'idée de parler et de voir une personne à l'autre bout du monde ou de son quartier pour discuter a immédiatement glissé sur « je montre ma bite ». Quasi tous les articles que vous lirez sur Chatroulette vous le confirmeront, dès que vous passez plus de dix minutes à appuyer sur next — bim — une bite.

Est-ce encore vrai aujourd'hui ? Question importante s'il en est.

Je me rends donc à l'adresse chatroulette.com pour voir et je vois qu'il faut d'abord sourire à la caméra pour se connecter. Plus question donc de laisser l'autocollant sur la caméra et, si vous êtes de ceux ou celles qui veulent montrer une autre partie de leur corps ensuite, vous n'êtes pas sûr·es que le serveur n'enregistre pas tout le flux et pourra conserver votre tête et… le reste. Comment faire pour ne pas montrer sa tête ? Mettre une photo devant la cam pourrait sans doute faire l'affaire mais il faut peut-être que « ça bouge ». Bref.

Ça c'est l'introduction, je glisse maintenant sur la partie geek plus intéressante.

Comment faire pour envoyer autre chose que le flux capté par ma caméra ?.

Quelques recherches plut tard avec des mots clés comme "caméra virtuelle" ou "split caméra" ou autres, je trouve évidemment que la solution existe et est très simple à mettre en œuvre (voir AskUbuntu ou Stackexchange) ce qui est moins évident. Il existe un module pour le noyau linux qui va émuler une caméra.

  • Installer

# apt install v4l2loopback-utils
# modprobe v4l2loopback
  • Lister les périphériques

    # v4l2-ctl --list-devices
    Dummy video device (0x0000) (platform:v4l2loopback-000):
        /dev/video1

    Integrated Camera (usb-0000:00:18.0-2):
        /dev/video0

Et je vois apparaitre un device (périphérique) supplémentaire « Dummy video device » qui et une caméra virtuelle. Lorsque je me connecte à un site qui me demande accès à ma caméra, il me suffit de choisir celle-la.

  • Envoyer un flux vidéo à cette caméra virtuelle.

Si votre but est d'envoyer une vidéo, vous pouvez utiliser la commande suivante:


ffmpeg -re -i /elsewhere/beautifulvideo.mp4 -f v4l2 /dev/video1

Si votre but est de travailler avec quelqu'un et de lui montrer votre bureau, vous pouvez utiliser la commande suivante:


ffmpeg -f x11grab -r 15 -s 1280x720 -i :0.0+0,0 
    -vcodec rawvideo -pix_fmt yuv420p -threads 0 
    -f v4l2 /dev/video1

Pour reprendre l'exemple de Chatroulette et si ça vous amuse, vous pouvez maintenant faire plaisir aux utilisateurs qui ont leur membre en main en leur proposant un film qui va bien… pour peu que ça vous intéresse de voir leur réaction… moi non.

Ce billet me sert d'aide-mémoire.


Crédit photo chez Fotolia. J'avais acheté quelques crédits qui arrivent maintenant à échéance. Qu'est-ce donc qui étonne cette dame ?